簡體   English   中英

jQuery驗證:未調用自定義規則

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM