0

我在获取Backbone.Validation时遇到问题处理复杂的对象验证。根据文档:

还支持验证复杂对象。要为对象配置验证规则,请在属性名称中使用点表示法,例如“address.street”。

我拿了这个例子小提琴并添加了一个复杂的对象,但我无法让它工作。

var SignUpModel = Backbone.Model.extend({
    defaults: {
        terms: false,
        gender: '',
    },
    validation: {
        username: {
            required: true
        },
        email: {
            required: true,
            pattern: 'email'
        },

        // complex object
        'address.zip': {
            required: true
        },

它看起来像输入元素名称中的点符号,因为我收到此错误:

Uncaught Error: Syntax error, unrecognized expression: [name=address.zip] 

看看这里的小提琴。

4

1 回答 1

0

如果我没记错的话,属性名称不接受(。),所以你不能有这个名字。但我不舒尔。

当文档说“也支持验证复杂对象。要配置对象的验证规则,请在属性名称中使用点表示法,例如'address.street'”。我猜那个地址有一个属性叫做街道。这真的很有意义。

将属性名称更改为“address-zip”将起作用。

希望能帮助到你。

有关属性名称的更多参考here。 HTML 属性名称中允许使用哪些字符?

于 2014-08-29T17:28:53.183 回答