Backbone Models Validations 1
by shravan
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.3/backbone-min.js"></script>
JavaScript
var Vehicle = Backbone.Model.extend({
validate: function (attrs, options) {
var validColors = ['red', 'green', 'blue'];
var colorIsValid = function (attrs) {
if (!attrs.color) return true;
return _(validColors).include(attrs.color);
};
if (!colorIsValid(attrs)) {
return "color must be one of: " + validColors.join(',');
}
}
});
var car = new Vehicle();
car.on("invalid", function (model, error) {
alert(error);
});
car.set('year', 2012);
car.set('color', 'red');
console.log(car.get('color'));
car.set('color', 'test');
console.log(car.get('color'));
car.save('color', 'xyz');