【发布时间】:2012-03-16 17:20:20
【问题描述】:
jQuery Validation plugin 效果很好,而且非常易于使用:
$(".selector").validate({
})
只需设置“必填邮件”之类的css类,就会显示默认消息。
但是,我需要自定义消息。文档说您可以使用键值对为元素及其相应消息指定规则:
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of name@domain.com"
}
}
})
但是,为每个表单元素指定规则是不切实际的,尤其是在 ASP.NET 中服务器生成的控件。是否可以指定适用于所有元素的规则?或者我可以以某种方式使用类选择器吗?
我尝试了以下方法,但没有成功:
$("#frmMyForm").validate
({
rules:
{
$(".required email"):
{
required: true,
email: true
}
},
messages:
{
$(".required email"):
{
required: "Please enter your email address",
email: "Your email address must be in the format of name@domain.com"
}
}
});
这似乎有语法错误 - 插件没有做任何事情。然后我尝试了:
$("#frmMyForm").validate
({
rules:
{
".required email":
{
required: true,
email: true
}
},
messages:
{
".required email":
{
required: "Please enter your email address",
email: "Your email address must be in the format of name@domain.com"
}
}
});
这没有任何语法错误 - 插件工作,但它忽略了规则/自定义消息。这里有人用过 jQuery Validation 插件吗?如果是这样,您是如何将规则/自定义消息应用于多个元素的?
谢谢!
【问题讨论】:
-
我想既然我们有源代码,我可以在那里更改消息。但如果能够为不同的类提供不同的消息,或者我们可以将其应用于多个元素的机制,那就太好了。
-
到目前为止的答案有什么问题吗?
-
对不起,我还在尝试它们。我遇到了一些与验证组相关的意外并发症(我将作为一个单独的问题提出)。我今天将结束这个问题 - 我总是结束我提出的所有问题。感谢您的所有帮助。