2015-02-18 3 views
0

Я использую библиотеку проверки jQuery для проверки форм на моем сайте перед их отправкой. Я бы хотел использовать одну функцию validate() для всех моих форм, которая отлично работает с добавлением атрибута required для формирования входных данных. Но я столкнулся с проблемой.jQuery Validate setDefaults для типа ввода

Я хочу использовать методы проверки из библиотеки additional-methods.js для проверки номеров телефонов и других специальных входов. В моей функции validate() я бы просто добавил следующее.

$('form').validate({ 
    rules: { 
     user_phone: { 
      phoneUS: true, 
     }, 
    }, 
}); 

Но это работает только на входах с name='user_phone'. У меня есть формы с более чем одним телефонным вводом. Есть ли способ использовать метод проверки phoneUS на всех входах с type='tel'?

Заранее благодарим всех, кто предлагает информацию об этом.

Редактировать

Я ищу что-то вроде этого ...

$.validator.setDefaults({ 
    rules: { 
     'type=tel': { 
     phoneUS: true, 
     }, 
    },  
}); 

ответ

1

Нет, вы не можете объявить правила внутри .validate() или .setDefaults() ничем, кроме одного name в то время, ,

Есть ли способ использовать метод phoneUS проверки на всех входах с type='tel'?

Да, с the .rules('add') method, вы можете использовать любой селектор jQuery и одновременно использовать несколько входных элементов.

$('input[type="tel"]').each(function() { 
    $(this).rules('add', { 
     phoneUS: true, 
     // other rules 
    }); 
}); 
  • Вы сусло до сих пор уникальный name на каждом входном элементе.

  • Вы должны использовать jQuery .each(), когда селектор содержит несколько элементов.

  • Вы должны использовать метод .validate() для инициализации плагина на вашей форме.

DEMO: http://jsfiddle.net/fqss7uy3/

+0

Ааа, который идеально подходит. Спасибо Спарки! –

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