Предположим, у меня есть форма, которая ищет города и штаты. Если пользователь вводит неправильный город, штат, я хочу, чтобы форма могла проверять базу данных на соответствие введенным пользователем данным и проверять, действительны ли введенные данные или нет. Если это не так, я хочу, чтобы пользователь подсказал.
Поэтому форма Validate — это плагин для меня.
Код: Выделить всё
$("#form").validate({
rules: {
citystate: {
required: true,
myCustomAjaxSyncronousCheckAgainstDBRule: true
}
submitHandler: function(form) {
if ($("#form").valid()) {
form.submit();
}
}
});
Теперь предположим, что эту форму нужно использовать в 4 разных местах моего веб-сайта, поэтому было бы отстойно провести рефакторинг myCustomAjaxSyncronousCheckAgainsDBRule (кстати, поддельное имя) и иметь тот же код 4 раза на моем сайте. Вот почему я создал собственное правило в файле JS. Но есть ли способ, чтобы правило МОЖНО было проверить ТОЛЬКО во время отправки? Поскольку, если есть неверный пользовательский ввод, он будет проверять его при КАЖДОМ нажатии клавиши, что может быть довольно обременительно. Тем более, что у меня есть jQuery.ui.autocomplete, работающий в соединении.
Подробнее здесь:
https://stackoverflow.com/questions/525 ... -at-submit