2016-11-12 2 views
2

В моем проекте я использую chosen выпадающий список с Jquery validator. Я добавил ignore: [] в функцию проверки. Теперь вопрос,Выбрано с подтверждением проверки JQuery с выбранным текстовым полем поиска

валидатор подтверждения поиска текстового поля с в выбранном плагине и показывает ошибку ниже в отладить

enter image description here

На моей странице, есть 3 выбрано выбрать показывая, как показано ниже

enter image description here

выше эр 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); 
     } 
    } 
}); 
} 

Пожалуйста, помогите мне избавиться от этой проблемы. Я застрял здесь. Любая помощь может быть оценен

ответ

1

Первого Fix: Обеспечить имя атрибут к < вводу > тегов
Второго Fix: Если вышеупомянутые элементы генерируется плагин, место "input[type=text&autocomplete=off]" в игнорировать поле Jquery валидатора.

+0

Не возможно, как он создается выбранный плагин – Arun

+0

@Arun: Пожалуйста, попробуйте с Fix sSecond, имея в виду, что вы не обеспечивают «автозаполнения = выкл» в любом из текстовых полей , –

1

Как вы сказали, невозможно добавить имена через плагин, вы можете добавлять имена в поля ввода, используя цикл .each(). Это должно устранить ошибку. Например, ниже:

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

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

Благодарим вас за это предложение. Это трещина, о которой я уже думал. Но есть ли другой способ избежать этого? – Arun

+0

Вы можете скрыть сообщение, используя ': not' like' ignore: '*: not ([name])' ' –

 Смежные вопросы

  • Нет связанных вопросов^_^