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'))