javascript 输入字段被禁用时,欧芹格式未验证

2ledvvac  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(118)

我有一个按钮,可以启用或禁用表单中的输入字段。无论字段是启用还是禁用,表单都可以提交。启用字段时,欧芹可以正确验证,但禁用字段时,它无法验证。

<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

xlpyo6sf

xlpyo6sf1#

这种行为是故意的。
disabled类型的输入在表单提交时不会被发送,因此不需要验证。而且,它们被禁用的事实阻止了用户修改它们,所以如果它是无效的,用户就不能做任何事情。

相关问题