只有在表单有效的情况下才能激活jQuery函数

我有一个jQuery函数绑定到我的提交button是这样的:

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

但是,这个表格是否有效呢? 我的模型装饰了各种DataAnnotations和客户端validation工作正常,但我只想要的jQuery函数触发,如果窗体已validation。 我如何做到这一点?

编辑:澄清,我使用MVC DataAnnotations + jQuery的不显眼的JavaScript来处理客户端validation。 我没有自己的JavaScriptvalidation例程编写。 内置的jQueryvalidation在validation表单方面做得非常好,但我只需要知道如何在我自己的函数中将validation结果转换为布尔值。

如果你正在使用jQueryvalidation不显眼的validation,你可以:

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

请注意, validateForm()函数将是您在浏览器中用于testingvalidation的函数。 编辑:这的确是jQuery的$(this).valid()

注意:澄清问题,上面的答案是停止表单提交validation,而不是所需的技术( jQuery有效()validation )的一种方法。 有关详细信息,请参阅Darin Dimitrov的答案。

另外,在重读原始问题时,意图与我原先描述的完全相反。 所以我编辑来validationfunction上的反应,而不是如何防止提交表单。