2011-12-27 13 views
2

jqueryの検証プラグインがあります。私は、それについて正しいものがいくつかある場合、私の書類が提出されることを望まない。特定の日付フィールドや他の特定のvarChar(25)フィールドがない場合は、送信する必要はありません。また、特定のフィールドに4000文字を超える文字が含まれていると、それが送信されないようにしたいと思っています。同じフィールドに文字がない場合は、フォームを送信しても構いません。それがjqueryの検証で動作するためには、私はrequried検証を行う必要がありますか?Jqueryの検証が必要ですvs不要

$("#temp1").validate({ 
     rules: { 
      HospitalFinNumber: { 
       required: true, 
       minlength: 6 
      }, 
      DateOfBirth: { 
       required: true 
      }, 
      AdmitDate: { 
       required: true 
      }, 
      Comment: { 
       maxlength: 4000 
      } 
     }, 
     messages: { 
      HospitalFinNumber: 'Please Enter a Hospital Fin number', 
      DateOfBirth: 'Please enter a valid Date Of Birth', 
      AdmitDate: 'Please select an Admit Date' 
     } 

必要に応じて最初の3つのフィールドがどのように表示され、最後のフィールドは必須ではないことに注意してください。フォームを送信しようとしましたが、そのフィールドに4000文字以上がある場合は、実際にサーバーにポストバックします。それが問題になります。私はこのフィールドを条件付きで何らかの形で必要にする必要があります。また、requiredがtrueに設定されている場合は、これらのフィールドを正しく記入してフォームを送信できないはずです。

+0

コメントはフィールドの 'name'であり、必ずしも' id'権利ではありませんか? –

+0

correct-a-mundo。コメントは、フィールドの名前です。 element32はIDです – SoftwareSavant

答えて

3

ここでは2つのオプションがあります。 custom validation classesと書くか、またはtrueの代わりにrequiredの依存関係式を使用してください。私は後者がもっときれいだと思います。

これについてはthe docsを参照してください。あなたのコメントフィールドを任意で長さによって必要にする方法は次のとおりです:

required: function(element) { 
    return $(element).val().length > 4000; 
} 
+0

ありがとうございます。それは実際にはある意味があります。 – SoftwareSavant

+0

ところで、$(要素).val()の長さ> 4000; – SoftwareSavant

+0

ええ、申し訳ありませんが、私は要求される条件に含めるべき内容を全く理解していません...いつ必要なのですか?私はそれを反映するために私の答えを編集することができます – Simeon

関連する問題