1

我正在尝试将 jQuery Validation 插件添加到某些网站,但遇到了一些问题,因为它应该验证的字段在 name 属性上有一个前缀,例如“Customer.FirstName”。

由于您必须将 JSON 对象传递给规则的验证函数,因此它不起作用,因为它永远不会找到元素。

有没有办法以每个字段为基础,或者我仍然可以传入 JSON 对象的变体,将字段 id 指定为字符串,例如“#Customer\.FirstName”?

提前致谢!

编辑:

根据格雷格的建议,我得到了它的工作。因此,对于遇到此类问题的任何人,您必须这样做:

$("form").validate({
    rules: {
        "Prefix.FieldName": "validationKeyword"
    }
});

不要将“#”添加到选择器,也不要将“\\”转义字符添加到选择器。因此,"#Prefix\\.FieldName" 将不匹配任何内容,因此只需将这些字符排除在外。

4

1 回答 1

1

JSON 支持带有“.”的键。在其中 - 只需引用它们:

var obj = {"#Customer.FirstName": "value"};

事实上,要成为正确的 JSON,它们应该总是被双引号引起来。

编辑:如果这是一个选择器,那么您可以转义 . 像这样:"#Customer\\.FirstName"

Edit2:文档说密钥需要是一个名称,所以我应该是"Customer.Firstname"或“Customer\.Firstname”,具体取决于插件的编码程度。你需要<input name="Customer.Firstname" ...>.

于 2009-11-09T19:25:47.793 回答