我有一个标记为以下内容的表单:
<form>
<label for="day">Day</label><input type="text" name="day" id="day">
<label for="month">Month</label><input type="text" name="month" id="month">
<label for="year">Year</label><input type="text" name="year" id="year">
</form>
不幸的是,字段上的名称将是动态的,直到运行时才会知道。有3个字段是必需的,并希望它们有1个错误消息。
我尝试使用名为myGroupData的变量填充组,但它不起作用。代码看起来像这样:
$('#myform').validate({
rules...,
groups myGroupData,
errorPlacement
});
var myGroupData = {DateofBirth: "day month year"};
or
var myGroupData = {DateofBirth: "field1 field2 field3 etc..."}' //field1, field2, field3 will be the names of the dynamic fields
谢谢,任何帮助都将不胜感激。
答案 0 :(得分:0)
根据您对已删除答案的评论中的jsFiddle:
您必须在使用 之前定义变量 ...
var myGroups = {DateofBirth: "day month year"};
$('#myform').validate({
rules: {
day: "required",
month: "required",
year: "required"
},
groups: myGroups
});
DEMO:http://jsfiddle.net/v0dmuvor/
不知道为什么我最初无法完成这项工作......也许jsFiddle剥落了。
备注:强>
.validate()
只是插件的初始化方法。一旦被调用,它就不能(也不会)被再次调用。后续调用将被忽略。
插件作者尚未提供动态更改除规则/消息之外的任何选项的方法。调用.validate()
后,插件的选项就会被锁定。
编辑:不确定您的想法是否是&#34; 动态&#34;和我一样。但是,如果您计划在页面加载并初始化插件后更改groups
选项的参数,则无法按照上述说明进行操作。