我的问题与this
有些相关这是一个JsFiddle Link ,看看我正在使用jquery验证版本1.14.0发生了什么。
<Form id="myform">
<div class="editor-label">
<label for="FirstName">First name</label>
</div>
<div class="editor-field">
<input class="text-box single-line" id="FirstName" name="FirstName" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
</Form>
var form= $("#myForm");
var validator=$("#myform").validate();
validator.showErrors({
"FirstName": "test error"
});
如果我使用validator.showErrors使输入无效,validator.valid()也会返回true。如何使validator.showErrors使表单无效并显示错误?
答案 0 :(得分:0)
我认为您无法使用invalidHandler
来自docs:
$("#myform").validate({
invalidHandler: function(event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
}
});
答案 1 :(得分:0)
您可以编写自己的逻辑来显示<span>
label
请在此处查看完整示例。 Fiddle
答案 2 :(得分:0)
如果我使用
validator.valid()
使输入无效,true
也会返回validator.showErrors
。
有效/无效状态仅基于输入的字段值与声明的验证规则的比较。这就是为什么.valid()
无法正常工作的原因;它根据验证规则正确确定有效性,而不是是否存在任意消息。
除了显示错误外,如何让
validator.showErrors
使表单无效?
如果您只是想以编程方式根据自己的私有条件切换文本消息,那么您就不需要验证插件。
另一方面,为什么不create a custom validation rule无论你想做什么,让插件正确处理验证信息。