jquery中的errorClassvalidation插件?
我在我的Web应用程序中使用jquery validate插件来validation表单以进行空白和其他简单validation。
我使用下面的代码为我的表单设置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" } } });
谢谢,对于技巧家伙,但我通过仅使用jQuery代码找到了更好的方法。 在validate插件中有一个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); } });
实际上你应该只为输入和span定义不同的类( span,因为errorElement设置为span,否则它将是label ),而不是删除应用的类
例如
span.authError {color:red;}
input.authError {border:1px dotted red;}
而不只是.authError {}将被应用于输入和跨度
$("#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); } });
在jQueryvalidation插件中, errorClass
既适用于错误消息元素(通常是 ,但在您的情况下是
) ,也适用于validation元素本身。 由于您只想设置错误消息元素的样式,因此您应该编写:
span.authError { // Your error element style. }
如果要为错误消息提供css。 然后代替使用errorClass定义css规则
label.error
检查一下:
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'); } });