2016-11-12 5 views
2

私のプロジェクトではとchosenドロップダウンリストを使用しています。検証機能にignore: []を追加しました。さて問題は、バリ選ばれたプラグインを使用して検索テキストボックスの検証とデバッグ私のページで選択した検索テキストボックスにJqueryバリデータのエラーが表示されます

enter image description here

で以下のエラーを示す、

で、選択選ばれた3があります以下画像

enter image description here

上記ERに示すようRORが自動的に選ばれたプラグインによって生成された下に示すテキストフィールドに表示され、それが名前

を持っていない

enter image description here

私は検証のために使用していますサンプルコードは

function validateUserForm() { 
$('#user-master-form').validate({ 
    debug: true, 
    ignore: [], 
    rules: { 
     first_name: { 
      required: true, 
      minlength: 3, 
      maxlength: 100 
     }, 
     last_name: { 
      maxlength: 100 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     mobile: { 
      required: true, 
      number: true, 
      maxlength: 15, 
      minlength: 10 
     }, 
     date_of_birth: { 
      required: true 
     }, 
     gender: { 
      required: true 
     }, 
     address: { 
      required: true, 
      maxlength: 200 
     }, 
     state: { 
      required: true 
     }, 
     district: { 
      required: true 
     } 
    }, 
    messages: { 
     first_name: { 
      required: "Please enter first name", 
      minlength: jQuery.validator.format("At least {0} characters required!"), 
      maxlength: jQuery.validator.format("Up to {0} characters allowed!") 
     }, 
     last_name: { 
      maxlength: jQuery.validator.format("Up to {0} characters allowed!") 
     }, 
     email: { 
      required: "Please enter email id", 
      email: 'Invalid email format', 
     }, 
     mobile: { 
      required: "Please enter mobile", 
      number: 'Only numbers allowed', 
      minlength: jQuery.validator.format("At least {0} numbers required!"), 
      maxlength: jQuery.validator.format("Up to {0} numbers allowed!") 
     }, 
     date_of_birth: { 
      required: "Please enter date of birth" 
     }, 
     gender: { 
      required: "Please select gender" 
     }, 
     address: { 
      required: "Please enter address", 
      maxlength: jQuery.validator.format("Up to {0} characters allowed!") 
     }, 
     state: { 
      required: "Please select state" 
     }, 
     district: { 
      required: "Please select district" 
     } 
    }, 
    errorPlacement: function (error, element) { 
     if (element.hasClass("chosen")) { 
      var id = element.attr('id'); 
      error.insertAfter("#" + id + "_chosen"); 
     } 
     else if (element.parent('.vd_radio').length) { 
      error.insertAfter(element.parent()); 
     } 
     else { 
      error.insertAfter(element); 
     } 
    } 
}); 
} 
です

この問題を解決するのを手伝ってください。私はここにこだわっている。上記の要素は、プラグインによって生成された場合には、場所"input[type=text&autocomplete=off]"をjqueryのバリデータのフィールドを無視:>タグ
セカンド修正<入力にname属性を提供します:すべてのヘルプは

答えて

1

まず修正を高く評価することができます。

+0

ないことを選択したプラグイン – Arun

+0

@Arunによって作成される可能性:テキストフィールドのいずれかで「オートコンプリート=オフ」を提供しないことを念頭に置いて、sSecond修正してみてください。 。 –

1

プラグインを使用して名前を追加することはできないと言っていたので、.each()ループを使用して名前を入力フィールドに追加できます。これにより、エラーが解消されます。以下の例:

var names = ['name1', 'name2', 'name3']; 

$(document).ready(function() { 
    $.each('#idOrClass input', function(i) { 
     $(this).attr('name', names[i]); 
    }); 
}); 
+0

この提案をありがとうございます。これは私がすでに考えていた亀裂です。しかし、これ以外の方法はありますか? – Arun

+0

あなたは ':notore'のように':not 'を使ってメッセージを隠すことができます:' *:not([name]) '' –

関連する問題