2

カスタムルールを作成しました

$(document).ready(function(){
    $("#test-form").validate({
            rules: { 
                test1:{
                    required: true,
                    minlength: 2
                } 
            },
            messages:  {
                test1:{
                    required: "required",
                minlength: "min 2"                      
                }
            }
        });
    // don't really process form
    $("#test-form").submit(function() { return false; });

そして私はこのHTMLコードを持っています

<input type="text" class="test1"/>

しかし、それは機能しません

定義済みのルールに変更すると、機能します

<input type="text" class="number"/>
4

2 に答える 2

1

Rory の言うとおりです。クラス名を介して宣言的に追加できるカスタム ルールを作成しようとしているにもかかわらず、ルールとメッセージ キーは「名前」属性と一致する必要がありますか?

.addMethod()したがって、次のように使用できる関数を探していると思います。

jQuery.validator.addMethod("alphanumeric", function(value, element) {
    return this.optional(element) || /^\w+$/i.test(value);
}, "Letters, numbers, and underscores only please");

これは、次のようなクラス名を介して自動的に取得されます。

<input type="text" class="alphanumeric" />
于 2012-05-22T23:06:51.270 に答える
1

のキーは、フィールドのパラメーターとrules一致する必要があります。nameこれを試して:

<input type="text" name="test1" />

また、debug: trueフォームの送信から false を返す代わりに、validate のオプションで使用して、テスト中にフォームの送信を防ぐことができます。

于 2012-05-22T21:01:05.653 に答える