我使用jquery validate插件,我需要为一组输入分组消息,但是它们的名称值包含一个点,这似乎是一个问题。有没有办法克服这个问题?
groups: {
validDateOfBirth: 'firstname.fieldOne firstname.fieldTwo',
},
非常感谢您的帮助!
答案 0 :(得分:1)
正确,在groups
选项中,如果名称包含特殊字符,则不能使用名称。在rules
选项中,您可以使用引号as per the documentation包围名称。但不幸的是,这个技巧对groups
选项不起作用。
但是,有一种解决方法。您将在.validate()
方法之外构造参数并将其分配给变量。然后将变量本身插入.validate()
。
对于您的情况,我使用jQuery“starts with”选择器来获取以input
开头的所有firstname
元素。如果您愿意,可以使用其他内容,例如class
,只要您只选择此特定分组的所有元素。
var names = ""; // create empty string
$('input[name^="firstname"]').each(function() { // grab each input starting w/ 'firstname'
names += $(this).attr('name') + " "; // append each name + single space to string
});
names = $.trim(names); // remove the empty space from the end
$('#myform').validate({
// other options,
groups: {
validDateOfBirth: names // reference the string
}
});
答案 1 :(得分:-1)
我建议您使用与dot不同的字段名称,因为您可能遇到问题,请参阅What characters are allowed in the HTML Name attribute inside input tag?