Flowdock
method

validates_length_of

Importance_3
v2.1.0 - Show latest stable - 2 notes - Class: ActiveModel::Validations::ClassMethods
validates_length_of(*attrs) public

Validates that the specified attribute matches the length restrictions supplied. Only one option can be used at a time:

  class Person < ActiveRecord::Base
    validates_length_of :first_name, :maximum => 30
    validates_length_of :last_name, :maximum => 30, :message => "less than %d if you don't mind"
    validates_length_of :fax, :in => 7..32, :allow_nil => true
    validates_length_of :phone, :in => 7..32, :allow_blank => true
    validates_length_of :user_name, :within => 6..20, :too_long => "pick a shorter name", :too_short => "pick a longer name"
    validates_length_of :fav_bra_size, :minimum => 1, :too_short => "please enter at least %d character"
    validates_length_of :smurf_leader, :is => 4, :message => "papa is spelled with %d characters... don't play me."
  end

Configuration options:

  • :minimum - The minimum size of the attribute
  • :maximum - The maximum size of the attribute
  • :is - The exact size of the attribute
  • :within - A range specifying the minimum and maximum size of the attribute
  • :in - A synonym (or alias) for :within
  • :allow_nil - Attribute may be nil; skip validation.
  • :allow_blank - Attribute may be blank; skip validation.
  • :too_long - The error message if the attribute goes over the maximum (default is: "is too long (maximum is %d characters)")
  • :too_short - The error message if the attribute goes under the minimum (default is: "is too short (min is %d characters)")
  • :wrong_length - The error message if using the :is method and the attribute is the wrong size (default is: "is the wrong length (should be %d characters)")
  • :message - The error message to use for a :minimum, :maximum, or :is violation. An alias of the appropriate :too_long/too_short/wrong_length message
  • :on - Specifies when this validation is active (default is :save, other options :create, :update)
  • :if - Specifies a method, proc or string to call to determine if the validation should occur (e.g. :if => :allow_validation, or :if => Proc.new { |user| user.signup_step > 2 }). The method, proc or string should return or evaluate to a true or false value.
  • :unless - Specifies a method, proc or string to call to determine if the validation should not occur (e.g. :unless => :skip_validation, or :unless => Proc.new { |user| user.signup_step <= 2 }). The method, proc or string should return or evaluate to a true or false value.
Show source
Register or log in to add new notes.
October 10, 2013
1 thank

Classy guys...

:fav_bra_size - really?

November 14, 2010 - (v1.0.0 - v2.3.8)
0 thanks

In Rails 3 you can find it here

In Rails 3 - this validation is moved to the HelperMethods