我有一个按钮,可以启用或禁用表单中的输入字段。无论字段是启用还是禁用,表单都可以提交。启用字段时,欧芹可以正确验证,但禁用字段时,它无法验证。
<form class="user-form">
<div class="form-group row mb-3 d-flex align-items-center">
<label class="control-label col-md-3 text-end">First Name</label>
<div class="col-md-9">
<input
type="text"
class="form-control"
id="firstName"
name="firstName"
data-parsley-required="true"
disabled
/>
</div>
</div>
<div class="form-group row mb-3 d-flex align-items-center">
<label class="control-label col-md-3 text-end">Last Name</label>
<div class="col-md-9">
<input
type="text"
class="form-control"
id="lastName"
name="lastName"
data-parsley-required="true"
disabled
/>
</div>
</div>
</form>
<button type="button">Submit</button>
我有一个validate函数,它接受一个form元素,并像这样验证我传入form元素的地方。$form.parsley().whenValidate()
。当输入被启用时,我得到正确的行为,但当输入被禁用时,没有验证错误。我还发现,如果我分别验证各个输入元素(firstName,lastName),那么即使它们被禁用,我也会得到正确的行为。
我可以再次手动启用所有字段,并在有人提交后进行验证,但有更好的解决方案吗?我使用的是parsely版本2.9.1
1条答案
按热度按时间xlpyo6sf1#
这种行为是故意的。
disabled
类型的输入在表单提交时不会被发送,因此不需要验证。而且,它们被禁用的事实阻止了用户修改它们,所以如果它是无效的,用户就不能做任何事情。