, , . , error :
var cars = new Cars();
cars.bind('error', function() {
console.log('Model not valid!')
})
cars.add({'weight': -5});
: , , . - , , . :
var car = new Car({weight: -5});
console.log(car.get('weight'));
collection.add() , .
collection.create() collection.add(), , .create() false . , , .
, , - collection._prepareModel , :
Cars = Backbone.Collection.extend({
model: Car,
_prepareModel: function(model, options) {
model = Backbone.Collection.prototype._prepareModel.call(this, model, options);
if (!model) this.trigger('error:validation');
return model;
}
});
var cars = new Cars();
cars.bind('error:validation', function() {
console.log('Model not valid!')
});
cars.add({'weight': -5});
: http://jsfiddle.net/nrabinowitz/f44qk/1/