0

validate.js の使用に問題があります

http://docs.jquery.com/Plugins/Validation/validate#toptions

すべての入力は次のように完璧に機能します<input type="email" class="required" />

私の問題は、

通常の検証を表示したい <input type="text" class="required" />ので、ユーザーが入力を選択してそのままにしておくと、このフィールドは必須であることが表示されます。

私は両方を試しまし$("#confirm_add").validate();

$("#confirm_add").validate({
rules: {
user[first_name]: "required"
}
});

この効果を達成できる唯一の方法は、入力に minlength="2" を含めることですが、それを使用しないことをお勧めします。

どんな助けでも大歓迎です

4

1 に答える 1

1

hereで述べたように、フィールド名を括弧で囲む必要があります。このhtmlがある場合:

<input type="text" name="user[first_name]" />

ルールでこれが必要です:

...
  'user[first_name]': {
      required: true
  }
...

検証をすぐに表示するという問題に関しては、デフォルトではそのようには機能しないため、有効なメソッドを使用して、後でそれを処理するコードを追加する必要があります。

$('#firstname').blur(function(){
    $(this).valid();
});

ここですべての動作を確認してください: http://jsfiddle.net/ryleyb/NVZr8/

requiredを設定するだけの場合は、ルール オブジェクトを使用する理由がないことに注意してくださいclass="required"。入力に を設定するだけです。

于 2012-05-15T17:47:11.697 に答える