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。我在這裏做錯了什麼?爲什麼驗證沒有執行?