JSFiddle - React, Tailwind, and code Playground
by Cody Lindley
HTML
<script src="https://dl.dropboxusercontent.com/u/2026291/backbone/jquery-2.0.2.js"></script>
<script src="https://dl.dropboxusercontent.com/u/2026291/backbone/lodash.underscore.js"></script>
<script src="https://dl.dropboxusercontent.com/u/2026291/backbone/backbone.js"></script>
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
JavaScript
var contact = new Backbone.Model({firstName:'John',lastName:'Doe'});
contact.validate = function(attributes,options){
var validPhone = /\(?\d{3}\W?\s?\d{3}\W?\d{4}/.test(attributes.phone);
if(!validPhone){return 'Setting or Saving Invalid Phone Number Attempted';}
};
//Have Backbone listen for invalid event on contact model
Backbone.listenTo(contact,'invalid',function(model,error,options){
console.log(model,error,options);
});
//setting invalid phone number will trigger the invalid event
contact.set('phone','111-1-1111',{validate:true}); //will not set, fails validation