【发布时间】:2011-05-29 16:33:50
【问题描述】:
我正在使用 jquery 和 jquery.validate.cs(jQuery 验证插件 1.8.0)来验证表单。现在它会在一个字段旁边显示一条消息:“这是一个必填字段”。
我还希望每个字段都变成红色。我该怎么做?谢谢!
【问题讨论】:
标签: jquery forms validation
我正在使用 jquery 和 jquery.validate.cs(jQuery 验证插件 1.8.0)来验证表单。现在它会在一个字段旁边显示一条消息:“这是一个必填字段”。
我还希望每个字段都变成红色。我该怎么做?谢谢!
【问题讨论】:
标签: jquery forms validation
无需任何自定义配置,您就可以这样做:
select.error, textarea.error, input.error {
color:#FF0000;
}
error
valid。这些类也适用于错误标签,因此在编写 CSS 时要注意这一点。
validation plugin 允许您配置这些类名,因此您可以这样做:
$("form").validate({
errorClass: "my-error-class",
validClass: "my-valid-class"
});
.my-error-class {
color:#FF0000; /* red */
}
.my-valid-class {
color:#00CC00; /* green */
}
【讨论】:
#F00
valid 类(尝试删除它并运行再次小提琴)。你能提供一个展示这种行为的 jsfiddle 或现场演示吗?
$("#myform").validate({
error: function(label) {
$(this).addClass("error");
},
});
使用errorClass参数添加.invalid类:
input.error {
color: red;
}
【讨论】:
使用Firebug查看错误元素的类是什么,然后使用css将其变为红色:
.error-label {
color: red;
}
【讨论】:
我在官方文档中找到了这段代码。 在此示例中,我们突出显示了错误的输入及其标签。
$("#myform").validate({
highlight: function(element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element.form).find("label[for=" + element.id + "]")
.addClass(errorClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element.form).find("label[for=" + element.id + "]")
.removeClass(errorClass);
}
});
您可以根据需要轻松修改它。
在此处查看完整文档:https://jqueryvalidation.org/validate/#highlight
【讨论】:
只需在你的 CSS 中创建一个样式。
当 validate() 函数检测到错误时,实际上会创建一个 "label" 来显示类名称为 "error" 的错误,所以只需在您的样式表,例如:
标签.错误{颜色:#f00;}
或
.error{color:#f00;}
【讨论】:
您可以使用下面的 CSS 突出显示您的输入字段边框。
input.error, textarea.error, select.error {
border-color:#f00;
}
【讨论】: