метод проверки внутри Backbone Model не вызывается?
Начинаю изучать Backbone, пытаюсь выполнить некоторую простую проверку внутри моей модели Person, но метод 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);
});
Когда я устанавливаю age как отрицательное значение, метод validate не вступает в силу:
person.set('age', -55);