0

Как вызвать функцию jQuery только при условии, что форма валидна?

15

У меня есть функция jQuery, связанная с кнопкой отправки формы, которая выглядит следующим образом:

$(function () {
    $('#signupform').submit(function () {
        alert('test');
    });
});

Однако она срабатывает независимо от того, валидна форма или нет. Моя модель оформлена с помощью различных аннотаций данных, и клиентская валидация работает хорошо, но я хочу, чтобы эта функция jQuery срабатывала только в случае успешной валидации формы. Как мне это сделать?

EDIT: Для уточнения, я использую аннотации данных MVC + неприметный javascript jQuery для обработки клиентской валидации. У меня нет собственных написанных routin для валидации на JavaScript. Встроенная валидация jQuery отлично справляется с задачей, но мне просто нужно понять, как получить результаты этой валидации в виде булевого значения в моей функции.

1 ответ(ов)

1

Если вы используете jQuery Validate с непринужденной проверкой, вы можете сделать следующее:

$(function () {
    $('#signupform').submit(function () {
        if ($(this).valid()) {
            alert('Форма валидна');
        }
    });
});

В данном примере мы создаём обработчик события submit для формы с идентификатором signupform. При отправке формы проверяется её валидность с помощью метода valid(). Если форма валидна, появляется предупреждение с сообщением "Форма валидна". Убедитесь, что у вас подключены необходимые скрипты jQuery и jQuery Validate, прежде чем использовать данный код.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь