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