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',phone:0
});

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';
    }
}

contact.set('phone','111-111-1111',{validate:true}); //will set
contact.set('phone','111-1-1111',{validate:true}); //will not set, fails validation

console.log(contact.get('phone')); //no invalid phone number was set
console.log(contact.validationError); //read last validation error