JSFiddle - React, Tailwind, and code Playground

by nikoshr

HTML

<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>

JavaScript

var Person = Backbone.Model.extend({
    url: '/echo/json/',
    defaults: {
        name: 'John Doe',
        age: 30,
        occupation: 'working'
    },

    validate: function(attrs) {
        console.log(attrs);

        if ( attrs.age < 0 ) {
            return 'Age must be positive, stupid';
        }

        if ( ! attrs.name ) {
            return 'Every person must have a name, you fool.';
        }
    },

    work: function() {
        return this.get('name') + ' is working.';
    }
});

var p = new Person();
p.on('invalid', function() {
    console.log(arguments);
});
p.set('age', -55, {validate : true});