2012-04-03 12 views
0

最近、私のページの1つに以下が含まれていることがわかりました:$( "#form1")。validate();しかし、このページは「必須」フィールドでjqueryの検証を行います。私は、ページの下部にコードを持っていますJQueryの検証 - .valid()を使用すると、.validate()が必要ですか?

:。

<script type="text/javascript"> 
    var originalDoPostBack = __doPostBack; 
    __doPostBack = function(sender, args) { 
     if ($("#form1").valid() === true) { 
      originalDoPostBack(sender, args); 
     } 
    }; 
</script> 

私のテストとソースを見てはことを私は$(「#1をForm1」)を必要としないようです(検証)場合私は$( "#form1")です。有効()です。

これは間違いありませんか?

答えて

2

$.validate()はフォームの設定に使用され、検証のためのフィールドです。たとえば、requiredemailなどのルールを設定し、エラー時に表示されるメッセージを定義します。フォームのを自動的に呼び出すように、フォームのsubmitイベントにも添付されます。

例:

$("form").validate({ 
    rules: { 
     Username: { required: true, email: true }, 
     Password: { required: true } 
    }, 
    messages: { 
     Username: { 
      required: "Please enter your username", 
      email: "Please enter a valid username" 
     }, 
     Password: "Please enter your password" 
    } 
}); 

<form> 
    <input type="text" id="Username" name="Username" /> 
    <input type="text" id="Password" name="Password" /> 
</form> 

また、あなたがルールのクラスを使用すると、エラーメッセージのフィールド上のtitle属性することができます。このメソッドを使用すると、フォームがサブミットされるときに手動で$("form").valid()を呼び出す必要があります。

$("form").submit(function() { 
    return $(this).valid(); 
}); 

<form> 
    <input type="text" id="Username" name="Username" class="required email" title="Please enter your username" /> 
    <input type="text" id="Password" name="Password" class="required" title="Please enter your password" /> 
</form> 

これは、第1の方法はあなたにフォームの外観や設定よりはるかに多くの制御を与え、そしてIMOも懸念の良好な分離であることは注目に値します。後者の唯一の利点は、それが簡潔であることです。

関連する問題