我已使用此处 Here中的链接和 Here中的示例手动将错误添加到我的输入中,但是当我在添加错误后尝试$("#myshowErrors").valid()
时,它会变为真?
这是我的代码
var validator = $( "#myshowErrors" ).validate();
validator.showErrors({
"firstname": "I know that your firstname is Pete, Pete!"
});
我无法使客户端验证失败。如何让form.valid()
返回false
?
我不想手动制作form.valid()=false;
我想通过设置错误来处理这个问题。
答案 0 :(得分:0)
您的问题中缺少代码完全不清楚,但我认为您可能会误解附加the .valid()
method的位置。
此方法仅附加到代表单 <form>
元素的选择器...
$('#myform').valid(); // triggers validation on the entire form
或者代表单个表单输入元素的任何选择器...
$('#myform input[name="myinput"]').valid(); // triggers validation on one input element
调用.valid()
时,将对所选元素触发验证,显示错误消息,该方法将返回true
或false
。
.valid()
方法永远不会附加到代表多个元素的选择器,或者不使用jQuery .each()
的元素集合。
<强>编辑:强>
showErrors
仅用于显示现有的错误。你不能让#34;无效&#34;通过调用showErrors
来填写字段。字段有效或无效仅基于该字段中包含的内容。
您已使用不引人注目的验证标记了该问题。由于jQuery Validation是通过Unobtrusive Validation插件自动处理的,因此不允许您调用自己的.validate()
方法实例。这是因为Unobtrusive插件会自动构建并调用.validate()
。一旦被调用,插件就会被初始化,不能再被调用,所有后续调用都会被忽略。