Backbone Template
Standard fiddle
by Steven Senkus
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
JavaScript
var Person = Backbone.Model.extend({
defaults: {
name: 'default name',
age: 99,
job: 'default job'
},
initialize: function () {
this.on('change:name', function (model) {
});
},
validate: function (attr) {
console.log('attr', attr);
if (attr.age < 0) {
return "No negative ages";
}
}
});
var People = Backbone.Collection.extend({
model: Person,
});
var person = new Person;
person.set({
name: 'Steve',
age: 29
});
console.log(person.get('job'));
person.on('invalid', function (e, a) {
alert(a);
});
person.set({
age: -1
}, {
validate: true
});
console.log(person.get('name'))