http://guides.rubyonrails.org/active_record_validations.html