По сути, я хочу, чтобы моя модель имела собственную логику проверки при передаче ошибки в представление.Вот код и ссылка: http://jsfiddle.net/jancarlo000/aRFGm/3/
Результат 'неопределен' вместо 'возраст не может быть 0'
Person = Backbone.Model.extend({
defaults: {
'FirstName':'JC'
},
initialize: function(){
console.log('new person');
},
validate: function(attr){
if (attr.Age == 0){
return 'age cannot be 0';
}
}
});
AppView = Backbone.View.extend({
initialize: function(){
this.model.bind('error', function(model, error){
alert(model); alert(error);
}());
}
});
var j = new Person();
var app = new AppView({model:j});
app.model.set({Age:0}); <=== purposely try to invoke validation error here..
//note: console's target must be result(fiddle.jshell.net)
//in Chrome for it to work...
ОБНОВЛЕНИЕ:
Проблема заключалась в том, что я добавил в свою функцию ненужный оператор вызова () .