Jquery 验证 ShowErrors 方法在 Label 而不是 Span 中显示错误
Jquery Validation ShowErrors method shows error in a Label instead of Span
我的问题与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.valid() returns true 如果我使用validator.showErrors 使输入invalid.How 我可以让validator.showErrors 使表单无效吗显示错误?
我想您不能使用 invalidHandler
设置自定义消息
来自文档:
$("#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();
}
}
});
您可以编写自己的逻辑来在 <span>
而不是 label
中显示错误
完整示例请参见此处。 Fiddle
Also validator.valid()
returns true
if I use validator.showErrors
to make the input invalid.
您不能通过在页面中插入一段文本来以编程方式 "make" 字段或表单 "invalid"。
Valid/Invalid 状态仅基于字段的输入值与声明的验证规则的比较。 这就是为什么 .valid()
不起作用的原因你期望的;它根据您的验证规则正确确定有效性,而不是是否存在任意消息。
How can I make validator.showErrors
make the form invalid in addition to showing the errors?
你不能!您似乎将手动生成的一段文本与实际数据验证混淆了。当输入的数据不符合您的验证规则时,表单 and/or 字段只会 "invalid"。
如果您只是想根据自己的私人标准以编程方式切换文本消息,则不需要验证插件。
另一方面,为什么不 create a custom validation rule 无论您想做什么,让插件正确处理验证消息。
我的问题与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.valid() returns true 如果我使用validator.showErrors 使输入invalid.How 我可以让validator.showErrors 使表单无效吗显示错误?
我想您不能使用 invalidHandler
来自文档:
$("#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();
}
}
});
您可以编写自己的逻辑来在 <span>
而不是 label
完整示例请参见此处。 Fiddle
Also
validator.valid()
returnstrue
if I usevalidator.showErrors
to make the input invalid.
您不能通过在页面中插入一段文本来以编程方式 "make" 字段或表单 "invalid"。
Valid/Invalid 状态仅基于字段的输入值与声明的验证规则的比较。 这就是为什么 .valid()
不起作用的原因你期望的;它根据您的验证规则正确确定有效性,而不是是否存在任意消息。
How can I make
validator.showErrors
make the form invalid in addition to showing the errors?
你不能!您似乎将手动生成的一段文本与实际数据验证混淆了。当输入的数据不符合您的验证规则时,表单 and/or 字段只会 "invalid"。
如果您只是想根据自己的私人标准以编程方式切换文本消息,则不需要验证插件。
另一方面,为什么不 create a custom validation rule 无论您想做什么,让插件正确处理验证消息。