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

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

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

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

РЕДАКТИРОВАТЬ: Чтобы уточнить, я использую Java MVC DataAnnotations + jQuery ненавязчивый javascript для обработки проверки на стороне клиента. У меня нет моих собственных процедур проверки javascript. Встроенная проверка jQuery делает большую работу по проверке формы, но мне просто нужно знать, как получить результаты этой проверки в логическое значение в моей собственной функции.

Ответ 1

Если вы используете jquery для проверки ненавязчивой проверки, вы можете:

$(function () {
    $('#signupform').submit(function () {
        if($(this).valid()) {
            alert('the form is valid');
        }
    });
});

Ответ 2

$(function () {
    $('#signupform').submit(function (e) {
        if (validateForm() === true) {
            alert('Form is valid.');
        }
    });
});

Обратите внимание, что функция validateForm() будет использоваться в браузере для проверки валидации. EDIT: Это действительно jQuery $(this).valid().

ПРИМЕЧАНИЕ. Пояснение вопроса, приведенный выше, является одним из способов прекратить отправку формы при проверке, но не желаемый метод (jQuery valid ( ) валидация). См. Ответ Дарина Димитрова для деталей.

Кроме того, перечитывая исходный вопрос, намерение было полностью противоположным тому, что я изначально описал. Поэтому я редактировал, чтобы продемонстрировать функциональный ответ на проверку, а не как предотвратить отправку формы.