JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>

JavaScript

Backbone.Model.prototype.save = function(){
    var returnedValue = Backbone.Model.prototype.save.apply(this, arguments),
        deferred = new $.Deferred();
    
    deferred.fail();
    
    if(_.isBoolean(returnedValue))
        return deferred;
    
    return returnedValue;
}

var Person = Backbone.Model.extend({
    validate : function(attributes){
         if(!("name" in attributes))
             return false;
    }
});

var person = new Person();
console.log(person.save());