バックボーンを学び始め、Person Model内で簡単な検証を行おうとしましたが、新しい年齢を設定すると、validateメソッドが実行されないようです。誰かが私がこれでどこで間違っているかもしれないか説明できますか?私がこれを正しく理解するまで、私の学習を続けたくありません。
JS
var Person = Backbone.Model.extend({
defaults: {
name: 'John Doe',
age: 30,
occupation: 'working'
},
validate: function(attrs) {
console.log(attrs);
if ( attrs.age < 0 ) {
return 'Age must be positive, stupid';
}
if ( ! attrs.name ) {
return 'Every person must have a name, you fool.';
}
},
work: function() {
return this.get('name') + ' is working.';
}
});
現在、コンソールで値を取得して設定しているだけなので、次のようになります。
var person = new Person({
name: 'Lady Madonna',
age: 23
});
person.on('error', function(model, error){
console.log(error);
});
年齢を負の値に設定すると、validateメソッドが有効になりません。
person.set('age', -55);