使用 jquery.validate.unobtrusive 验证复选框

hma*_*avi 6 javascript validation checkbox jquery

我需要验证低点复选框, jquery.validate.unobtrusive我使用此代码,但复选框始终有效。如何解决这个问题?

<input id="AcceptLaws" type="checkbox" name="AcceptLaws" data-val="true" data-val-required="Please accept with laws">
<span class="field-validation-valid" data-valmsg-for="AcceptLaws" data-valmsg-replace="true"></span>
Run Code Online (Sandbox Code Playgroud)
<input id="AcceptLaws" type="checkbox" name="AcceptLaws" data-val="true" data-val-required="Please accept with laws">
<span class="field-validation-valid" data-valmsg-for="AcceptLaws" data-valmsg-replace="true"></span>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 11

问题是因为data所需规则的属性不正确。您需要设置data-rule-required="true",然后将错误消息放入到data-msg-required. 尝试这个:

$('#AcceptLaws').valid()
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>

<form>
  <input id="AcceptLaws" type="checkbox" name="AcceptLaws" data-val="true" data-rule-required="true" data-msg-required="Please accept with laws" />
  <span class="field-validation-valid" data-valmsg-for="AcceptLaws" data-valmsg-replace="true"></span>
</form>
Run Code Online (Sandbox Code Playgroud)