Module: DuckRecord::Validations::HelperMethods
- Defined in:
- lib/duck_record/validations/subset.rb
Instance Method Summary collapse
-
#validates_subset_of(*attr_names) ⇒ Object
Validates whether the value of the specified attribute is available in a particular enumerable object.
Instance Method Details
#validates_subset_of(*attr_names) ⇒ Object
Validates whether the value of the specified attribute is available in a particular enumerable object.
class Person < ActiveRecord::Base
validates_inclusion_of :gender, in: %w( m f )
validates_inclusion_of :age, in: 0..99
validates_inclusion_of :format, in: %w( jpg gif png ), message: "extension %{value} is not included in the list"
validates_inclusion_of :states, in: ->(person) { STATES[person.country] }
validates_inclusion_of :karma, in: :available_karmas
end
Configuration options:
-
:in- An enumerable object of available items. This can be supplied as a proc, lambda or symbol which returns an enumerable. If the enumerable is a numerical, time or datetime range the test is performed withRange#cover?, otherwise withinclude?. When using a proc or lambda the instance under validation is passed as an argument. -
:within- A synonym(or alias) for:in -
:message- Specifies a custom error message (default is: “is not included in the list”).
There is also a list of default options supported by every validator: :if, :unless, :on, :allow_nil, :allow_blank, and :strict. See ActiveModel::Validations#validates for more information
69 70 71 |
# File 'lib/duck_record/validations/subset.rb', line 69 def validates_subset_of(*attr_names) validates_with SubsetValidator, _merge_attributes(attr_names) end |