Tutorials Point

  Learning Ruby on Rails 2.1
  Advanced Ruby on Rails 2.1
  Ruby on Rails Quick Guide
  Ruby Tutorial
  Ruby on Rails Resources
  Selected Reading

Copyright © 2014 by tutorialspoint

  Home     References     Discussion Forums     About TP  

Ruby on Rails 2.1 - User Input Validations

previous next AddThis Social Bookmark Button


Here is the list of validations which you can perform on user input:


Following check that last_name and first_name should be filled and should not be NOLL.

validates_presence_of :firstname, :lastname


Following example shows various validations on a single filed. These validations can be performed separately.

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'    
   :too_long => 'way to long'


Following will accept only 'Y' value for option field.

validates_acceptance_of :option            
                        :accept => 'Y' 


The fields password and password_confirmation must match and will be used as follows:

validates_confirmation_of :password


Following puts a condition for user_name to be unique.

validates_uniqueness_of :user_name


Following validates a that given email ID is in a valid format. This shows how you can use regualr expression to validatea filed.

validates_format_of :email
    :with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i


This validates that given field is numeric.

validates_numericality_of   :value                 
                            :only_integer => true   
                            :allow_nil => true      


Following checks that passed value is an enumeration and falls in the given range.

validates_inclusion_of  :gender,   
                        :in => %w( m, f )


Following checks that given values does not fall in the given range.

validates_exclusion_of  :age        
                        :in => 13..19


Following checks that given values should fall in the given range. This is opposite to validates_exclusion_of.

validates_inclusion_of  :age
                        :in => 13..19


This validates that the associated object is valid.

Options for all Validations:

You can use following options alongwith all the validations.

  • :message => 'my own errormessage' Use this to print a custom error message in case of validation fails.

  • :on => :create or :update This will be used in such cases where you want to perform validation only when record is being created or updated. So if you use :create then this validation work only when there is a create opration on database.

Check the following link for more detail on Validations.

previous next Printer Friendly