1

ワイルドカードでルールを追加する可能性はありますか?このようなルールを設定することはできないと思います...

$("#form").validate({
        // errorLabelContainer: $("div#error"),
        errorElement: "p",
        errorClass: "form-error",
        rules: {
             $("input[name*='x.child']"): {
                required: true,
                minlength: 5
            }
        }
});
4

1 に答える 1

8

組み込みのrules()メソッドを使用してルールを追加します。 ドキュメントを参照してください。

注:を呼び出した後、このメソッドを呼び出す必要があります。.validate()

jsFiddleデモ

$("#form").validate({
    errorElement: "p",
    errorClass: "form-error"
});

// the following method must come AFTER .validate()
$("input[name*='x.child']").each(function() {
    $(this).rules('add', {
        required: true,
        minlength: 5
    });
});

このメソッドは、フォームにフィールドを動的に追加する場合にも非常に役立ちます。

カスタムと組み合わせるには、次のようにしますmessages:。内のオプションとしてルールを追加する場合とは形式が少し異なることに注意してください.validate()...

$("input[name*='x.child']").each(function() {
    $(this).rules('add', {
        required: true,
        minlength: 5,
        messages: {
            required: "Required input",
            minlength: jQuery.format("At least {0} characters are necessary")
        }
    });
});

他の場所で述べたように、このように作成して使用することもできますclass...

jsFiddleデモ

HTML:

<input type="text" class="myclass" name="whatever" />

jQuery:

$("#form").validate({
    errorElement: "p",
    errorClass: "form-error"
});

// the following method must come AFTER .validate()
$('#form').find('.myclass').each(function() {
    $(this).rules('add', {
        required: true,
        minlength: 5,
        messages: {
            required: "Required input",
            minlength: jQuery.format("At least {0} characters are necessary")
        }
    });
});
于 2012-12-14T22:33:45.873 に答える