1
我正在关注这些https://tutsplus.com/course/connected-to-the-backbone/讲座以学习骨干,并且在我知道validate()
函数(如果存在)被调用时,只要我们在该模型内设置任何变量的值。我写了这个模式:骨干模型中的验证
var PersonModel = Backbone.Model.extend({
defaults: {
name: 'Kamran Ahmed',
rollNo: '1224',
email: '[email protected]'
},
validate: function (attrs){
if (!attrs.name) {
return 'You must provide a name';
}
if (attrs.rollNo < 0) {
return 'Roll Number must be positive';
}
}
});
,我试图如下:
var person = new PersonModel();
person.set('rollNo', -100) // trying to violate the validation rule
但它从来没有验证即值-100
仍然被分配到rollNo
。此外,当我做person.set('rollNo', -100)
时它会一直返回整个对象,而在违反验证规则时它应该返回false。我在这里做错了什么?为什么验证没有执行?