我无法让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]
答案 0 :(得分:0)
如果我没错,属性名称不接受(。),那么你就不能拥有这个名字。但我并不害羞。
当文档说明"也支持验证复杂对象。要配置对象的验证规则,请在属性名称中使用点表示法,例如' address.street'"。我猜这个地址有一个名为street的属性。这真的很有意义。
将属性名称更改为" address-zip"工作。
希望它有所帮助。此处有关属性名称的更多参考。 What characters are allowed in an HTML attribute name?