Здравствуйте!
Подключил jQuery Form Plugin и жить стало проще, но с валидацией разобраться не могу.
Руководствуюсь
документацией
Прописываю в опциях:
var options = {
beforeSubmit: validate,
success: getOrderData
};
Ловлю submit:
$('body').on('submit', '[data-destination="order-form"]', function(e) {
$(this).ajaxForm(options);
e.preventDefault();
return false;
});
Ну и добавляю функцию валидации:
function validate(formData, jqForm, options) {
var shippingMethod = $('select[name=shipping_method]').fieldValue();
var paymentMethod = $('select[name=payment_method]').fieldValue();
if (!shippingMethod[0] && shippingMethod <= 0) {
alert('Необходимо указать способ доставки');
return false;
}
if (!paymentMethod[0] && paymentMethod <= 0) {
alert('Необходимо указать способ оплаты');
return false;
}
}
Проблема в том что на странице несколько форм
[data-destination="order-form"] и когда пытаюсь отправить форму никак не связанную с shippingMethod и paymentMethod всплывает ошибка "Необходимо указать способ доставки".
Я так понимаю это условие
if (!shippingMethod[0] && shippingMethod <= 0) проверяет есть ли в форме поле shippingMethod и не равно ли оно 0, соответственно если его нет, то и проверять нечего.
Подскажите как правильно проверять данные из разных форм на одной странице данным плагином?
UPD: вопрос решился с помощью плагина
jqueryvalidation.org