jQueryvalidation插件 – 触发validation单个字段

我有一个表格,可以select通过Facebook连接预先填充。 一旦用户连接,他们的名字和电子邮件会自动填入。问题是,这不会触发远程validation,以检查电子邮件是否已经存在。

有没有办法我可以单独调用该字段的validation? 就像是:

$('#email-field-only').validate()

会是想法。 通过文档search,没有运气。

这种方法似乎做你想要的:

 $('#email-field-only').valid(); 

出于某种原因,其他一些方法不能工作,直到现场被聚焦/模糊/改变,或提交已经尝试…这对我有效。

 $("#formid").data('validator').element('#element').valid(); 

不得不通过jquery.validate脚本来find它…

 $("#FormId").validate().element('#FieldId'); 

使用Validator.element()

validation单个元素,如果有效则返回true,否则返回false。

以下是API中显示的示例:

 var validator = $( "#myform" ).validate(); validator.element( "#myselect" ); 

.valid()validation整个表单,正如其他人指出的那样。 该API说:

检查选定的表单是否有效,或所有选定的元素是否有效。

当你设置你的validation,你应该保存validation对象。 你可以用它来validation单个字段。

 <script type="text/javascript"> var _validator; $(function () { _validator = $("#form").validate(); }); function doSomething() { _validator.element($('#someElement')); } </script> 

– 交叉发布这个类似的问题

如果要validation单个表单字段,但不希望触发UI并显示任何validation错误,则可以考虑使用Validator.check()方法,如果给定字段通过validation,则返回该方法。

这里是例子

 var validator = $("#form").data('validator'); if(validator.check('#element')){ /*field is valid*/ }else{ /*field is not valid (but no errors will be displayed)*/ } 
 $("#element").validate().valid()