validates_length_of
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0 (0)
- 3.0.9 (-4)
- 3.1.0 (2)
- 3.2.1 (7)
- 3.2.8 (2)
- 3.2.13 (0)
- 4.0.2 (-38)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (-7)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (1)
- 7.1.3.4 (0)
- What's this?
validates_length_of(*attr_names)
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 30 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 :zip_code, minimum: 5, too_short: 'please enter at least 5 characters' validates_length_of :smurf_leader, is: 4, message: "papa is spelled with 4 characters... don't play me." validates_length_of :essay, minimum: 100, too_short: 'Your essay must be at least 100 words.', tokenizer: ->(str) { str.scan(/\w+/) } end
Configuration options:
-
:minimum - The minimum size of the attribute.
-
:maximum - The maximum size of the attribute. Allows nil by default if not used with :minimum.
-
: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 %{count} characters)”).
-
:too_short - The error message if the attribute goes under the minimum (default is: “is too short (min is %{count} 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 %{count} 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.
-
:tokenizer - Specifies how to split up the attribute string. (e.g. tokenizer: ->(str) { str.scan(/\w+/) } to count words as in above example). Defaults to ->(value) { value.split(//) } which counts individual characters.
There is also a list of default options supported by every validator: :if, :unless, :on and :strict. See ActiveModel::Validation#validates for more information