我在我的网络应用程序中使用jquery validate插件来验证表单的空白和其他简单验证。
我使用下面的代码为我的表单设置jquery validate插件,其中有一个erroClass
选项,我在其中定义了一个CSS类名authError
,我想在错误消息中应用它,但它同样的类应用于INPUT框,我不想在INPUT框中应用它,只是想要它的错误信息。请检查并提供帮助。谢谢!
$("#frmSignin").validate({
debug: false,
errorClass: "authError",
errorElement: "span",
rules: {
username: {
required: true,
minlength: 10
},
password: {
required: true
}
},
messages: {
username: {
required: "Please enter your username"
},
password: {
required: "Please enter your password"
}
}
});
答案 0 :(得分:26)
谢谢,对于技巧人员,但我通过仅使用jQuery代码找到了更好的方法。验证插件中有一个highlight
事件,当突出显示错误字段时发生错误时调用该事件,我只是在调用此事件时删除了类表单元素。
$("#frmSignin").validate({
debug: false,
errorClass: "authError",
errorElement: "span",
rules: {
username: {
required: true,
minlength: 10
},
password: {
required: true
}
},
messages: {
username: {
required: "Please enter your username"
},
password: {
required: "Please enter your password"
}
},
highlight: function(element, errorClass) {
$(element).removeClass(errorClass);
}
});
答案 1 :(得分:5)
您实际上应该只为输入和跨度定义不同的类( span ,因为errorElement设置为span,否则它将是标签),而不是删除已应用的类类
e.g。
span.authError {color:red;}
input.authError {border:1px dotted red;}
而不仅仅是 .authError {} ,它将同时应用于输入和范围
答案 2 :(得分:4)
$("#borrowerForm").validate({
errorElement: 'span',
errorElementClass: 'input-validation-error',
errorClass: 'field-validation-error',
errorPlacement: function(error, element) {},
highlight: function(element, errorClass, validClass) {
$(element).addClass(this.settings.errorElementClass).removeClass(errorClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).removeClass(this.settings.errorElementClass).removeClass(errorClass);
},
onkeyup: false,
errorPlacement: function (error, element) { error.insertAfter(element); }
});
答案 3 :(得分:2)
在jQuery验证插件中,errorClass
都应用于错误消息元素(通常为<label>
,但在您的情况下为<span>
和到验证元素本身。由于您只想设置错误消息元素的样式,因此您应该写:
span.authError {
// Your error element style.
}
答案 4 :(得分:0)
如果您想为错误消息提供css。 然后代替使用errorClass定义css规则
label.error
答案 5 :(得分:0)
检查一下:
jQuery.validator.messages.required = "";
$('#frm-contact').validate({
invalidHandler: function (e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted below'
: 'You missed ' + errors + ' fields. They have been highlighted below';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
},
onkeyup: false,
submitHandler: function () {
$("div.error").hide();
alert("submit! use link below to go to the other step");
},
highlight: function (element, required) {
$(element).fadeOut(function () {
$(element).fadeIn();
$(element).css('border', '2px solid #FDADAF');
});
},
unhighlight: function (element, errorClass, validClass) {
$(element).css('border', '1px solid #CCC');
}
});