如何在 jQuery Validate 中标记必填字段
Posted
技术标签:
【中文标题】如何在 jQuery Validate 中标记必填字段【英文标题】:How to mark required field in jQuery Validate 【发布时间】:2011-03-18 09:30:33 【问题描述】:我正在使用 jQuery Validate 和 xVal 来验证输入表单。这很好用。 但是,我确实想用星号 (*) 或类似的东西标记我的必填字段,以显示实际需要哪个字段。
我可以手动执行此操作,但由于我已经使用 xVal 生成了我的验证规则,我想我可以根据提供的规则自动标记必填字段。
有没有办法连接到 xVal 或 jQuery Validate 以检索规则,或者以某种方式让它们标记我的必填字段?
我正在使用最新版本的 jQuery 和 jQuery Validate。
谢谢
【问题讨论】:
【参考方案1】:将required
类赋予表单元素,并使用以下代码
$(document).ready(function()
$('<span style="color:red;">*</span>').insertAfter('.required');
);
这会将“*”附加到每个具有required
类的元素
希望对你有帮助
【讨论】:
是的,如果他们有所需的类,这可能会起作用,但据我所知,xVal 不会设置类,而是直接将规则提供给 jQuery Validate。我猜规则存在于记忆中或其他东西中。 那你会上传一些代码吗?我想看看验证函数是如何附加到元素上的。 这是生成的 jQuery 验证代码,gist.github.com/482877。至于 xVal,你可以在这里获取代码,xval.codeplex.com。如果你愿意,我也可以提供一个要点。【参考方案2】:这是可能的
-
获取表单中的所有输入
迭代并查找输入是否具有规则必需
如果是,找到该输入的标签
在标签文本末尾添加 *
您的代码将如下所示
$.each($("#you-form input"), function( index, element )
var rule = $(element).rules() ; // this will get the rules for each input
if(rule && rule.required)
//find label and append red *
);
【讨论】:
【参考方案3】:创建一个单独的“规则”变量可能是最简单的,你可以将它传递给 jQuery 和其他一些函数。这个其他函数将遍历它并标记所有必填字段。
【讨论】:
这可行,但我不想修改 xVal 来完成此操作。为了从我的编辑模型生成我的验证规则,我使用这行代码:html.ClientSideValidation以上是关于如何在 jQuery Validate 中标记必填字段的主要内容,如果未能解决你的问题,请参考以下文章
Jquery.Validate - 根据哪个选项卡添加/删除规则