带有 jQuery 验证插件的 select2 自定义错误消息
select2 custom error message with jQuery validation plugin
当我尝试验证 select2 时,我得到的文本与标签相同
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label for="cboMetodoPago">Método de pago <span class="required"></span></label>
<select class="form-control select2-nosearch" id="cboMetodoPago" name="cboMetodoPago" required></select>
</div>
</div>
</div>
这就是我配置插件的方式
$(".formsave").validate({
highlight: function (element) {
jQuery(element).closest('.form-group').addClass('has-error');
},
success: function (element) {
jQuery(element).closest('.form-group').removeClass('has-error');
},
ignore: ["input[type=hidden]"],
onfocusout: false,
invalidHandler: function (form, validator) {
var error = validator.numberOfInvalids();
if (error) {
validator.errorList[0].element.focus();
}
},
message: {
cboMetodoPago: {
required: "Este campo es obligatorio"
}
}
});
而且我得到的文本与表单组内的标签相同
有什么方法可以将文字替换成对应的文字吗?
此致
该对象被称为 messages
,而不是您所拥有的 message
。
messages: { // <- "messages", not "message"
cboMetodoPago: {
required: "Este campo es obligatorio"
}
}
根据您对 highlight
的使用情况,您应该使用 unhighlight
而不是 success
。
highlight: function (element) {
jQuery(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element) {
jQuery(element).closest('.form-group').removeClass('has-error');
},
success
函数实际上是用来控制错误消息元素的,当元素通过验证时,它通常是隐藏的。换句话说,当元素通过验证时,您可以利用错误 label
给出另一条消息或图标,例如 "passed" 或绿色复选标记。
当我尝试验证 select2 时,我得到的文本与标签相同
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label for="cboMetodoPago">Método de pago <span class="required"></span></label>
<select class="form-control select2-nosearch" id="cboMetodoPago" name="cboMetodoPago" required></select>
</div>
</div>
</div>
这就是我配置插件的方式
$(".formsave").validate({
highlight: function (element) {
jQuery(element).closest('.form-group').addClass('has-error');
},
success: function (element) {
jQuery(element).closest('.form-group').removeClass('has-error');
},
ignore: ["input[type=hidden]"],
onfocusout: false,
invalidHandler: function (form, validator) {
var error = validator.numberOfInvalids();
if (error) {
validator.errorList[0].element.focus();
}
},
message: {
cboMetodoPago: {
required: "Este campo es obligatorio"
}
}
});
而且我得到的文本与表单组内的标签相同
有什么方法可以将文字替换成对应的文字吗?
此致
该对象被称为 messages
,而不是您所拥有的 message
。
messages: { // <- "messages", not "message"
cboMetodoPago: {
required: "Este campo es obligatorio"
}
}
根据您对 highlight
的使用情况,您应该使用 unhighlight
而不是 success
。
highlight: function (element) {
jQuery(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element) {
jQuery(element).closest('.form-group').removeClass('has-error');
},
success
函数实际上是用来控制错误消息元素的,当元素通过验证时,它通常是隐藏的。换句话说,当元素通过验证时,您可以利用错误 label
给出另一条消息或图标,例如 "passed" 或绿色复选标记。