[英]jQuery validation: Custom rule not called
這是我用於測試的簡單驗證代碼:
jQuery.validator.addMethod("oneTypeChecked", function (value, element) {
return false; //$(':checkbox:checked') > 0
}, "Check one or more type");
$("#RequestCreateForm").validate({
rules: {
ChkBoxType1: { oneTypeChecked: true }
}
});
但是當我提交表單時,我的方法oneTypeChecked永遠不會被調用。 為什么?
這是我的HTML代碼:
<div class="editor-field">
<input type="checkbox" id="ChkBoxType2" name="requestTypeIds2" value="2">Type 2
<input type="checkbox" id="ChkBoxType1" name="requestTypeIds1" value="1">Type 1
<input type="checkbox" id="ChkBoxType3" name="requestTypeIds3" value="3">Type 3
</div>
非常感謝你!
驗證插件根據name屬性而不是id工作。 嘗試更改輸入的name屬性。
用這個HTML
<form id="RequestCreateForm" action="" method="post">
<div class="editor-field">
<input type="checkbox" class="oneTypeChecked" name="requestTypeIds2" value="2">Type 2
<input type="checkbox" class="oneTypeChecked" name="requestTypeIds1" value="1">Type 1
<input type="checkbox" class="oneTypeChecked" name="requestTypeIds3" value="3">Type 3
</div>
<input type="submit" value="submit" />
</form>
這個jquery
jQuery.validator.addMethod("oneTypeChecked", function(value, element) {
return $('.oneTypeChecked:checked') > 0
}, "Check one or more type");
$("#RequestCreateForm").validate({
rules: {
ChkBoxType1: {
oneTypeChecked: true
}
}
});
你會得到你想要的結果
這是一個工作演示
據我了解,如果你沒有添加所需的,它將是有效的,因為它沒有被檢查。
rules: {
ChkBoxType1: { required : true, oneTypeChecked: true }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.