如何使用jQuery验证手动触发验证?

usr*_*usr 138 html javascript jquery jquery-validate

我想手动触发验证,包括使用jQuery Validate显示错误消息.

我想要完成的场景是这样的形式:

<form>
 <input id=i1> <button id=b1>
 <input id=i2> <button id=b2>
</form>
Run Code Online (Sandbox Code Playgroud)

点击时b1,只i1应验证.单击b2,只i2应该验证.但是,必须发布所有字段.我怎样才能做到这一点?我考虑过处理click事件b1/b2并手动验证表单的一部分.

Rob*_*loi 170

该库似乎允许验证单个元素.只需将点击事件与您的按钮相关联,然后尝试以下操作:

$("#myform").validate().element("#i1");
Run Code Online (Sandbox Code Playgroud)

这里的例子:

http://docs.jquery.com/Plugins/Validation/Validator/element#element

  • 这验证了整个表单...仅验证1个字段,正确的方法是:http://stackoverflow.com/a/12195091/114029 (13认同)

Ana*_*yal 106

或者可以简单地使用: $('#myElem').valid()

if ($('#myElem').valid()){
   // will also trigger unobtrusive validation only for this element if in place 
   // add your extra logic here to execute only when element is valid
}
Run Code Online (Sandbox Code Playgroud)

  • 在使用此方法检查之前,需要在表单上调用`validate()`. (15认同)

Yoo*_*lla 27

我的方法如下.现在我只想在单击/更改一个特定复选框时验证我的表单:

$('#myForm input:checkbox[name=yourChkBxName]').click(
 function(e){
  $("#myForm").valid();
}
)
Run Code Online (Sandbox Code Playgroud)


Eva*_*a M 9

文档所述,以编程方式触发表单验证的方法是调用validator.form()

var validator = $( "#myform" ).validate();
validator.form();
Run Code Online (Sandbox Code Playgroud)

  • 这并不能回答问题,因为问题是关于仅验证一个特定字段。但这正是我一直在寻找的。谢谢! (4认同)