2011-06-19 11 views
4

jQueryの.show()および.hide()を使用してフォーム上で有効または無効にするフィールドを制御するフォームにドロップダウンがあります。私のjquery.validateルールでは、必要なすべてのフィールドがあります。jquery.validate無効なフィールドの有効性確認

これは、それはまだ隠されているフィールドを検証し、提出からフォームを停止の上に私のjquery.validateルールは、コードで

$("#new_course").validate({ 
ignore: ":disabled", 
rules: { 
"course_init_on": {required: true}, 
"mins_before": {required: true}, 
    ..... 

のように見えるものです。

+1

"非表示"は "無効"と同じではありません。 – Pointy

答えて

9

私が見ることができることは、あなたが無視する追加したということです ":無効" とは異なっている ":隠された":

$("#new_course").validate({ 
ignore: ":hidden", 
... 
0

試してみてください。

$("#new_course").validate({ 
ignore: ":hidden", 
rules: { 
"course_init_on": {required: true}, 
"mins_before": {required: true}, 
    ..... 
私はあなたが使うべきだと思う

1

本当にフォーム要素を無効にしたい場合は(ブラウザがそのデータを投稿するはずです)、次のようにします:

$("#elm").attr("disabled", "disabled"); 

その後、上記のコードは完璧に動作します、あなたは文句を言わないサーバー:)に不要なデータを掲載すること

0

無効validate.jsでチェック(ハードコード)されていません。

elements: function() { 
      var validator = this, 
       rulesCache = {}; 

      // select all valid inputs inside the form (no submit or reset buttons) 
      return $(this.currentForm) 
      .find("input, select, textarea") 
      .not(":submit, :reset, :image, [disabled]"); 
      } 

あなたが使用する必要があります代わりにreadonly属性

関連する問題