Method: ActiveModel::Validations::HelperMethods#validates_confirmation_of
- Defined in:
- lib/active_model/validations/confirmation.rb
#validates_confirmation_of(*attr_names) ⇒ Object
Encapsulates the pattern of wanting to validate a password or email address field with a confirmation.
Model:
class Person < ActiveRecord::Base
validates_confirmation_of :user_name, :password
validates_confirmation_of :email_address,
message: 'should match confirmation'
end
View:
<%= password_field "person", "password" %>
<%= password_field "person", "password_confirmation" %>
The added password_confirmation attribute is virtual; it exists only as an in-memory attribute for validating the password. To achieve this, the validation adds accessors to the model for the confirmation attribute.
NOTE: This check is performed only if password_confirmation is not nil. To require confirmation, make sure to add a presence check for the confirmation attribute:
validates_presence_of :password_confirmation, if: :password_changed?
Configuration options:
-
:message- A custom error message (default is: “doesn’t match%{translated_attribute_name}”). -
:case_sensitive- Looks for an exact match. Ignored by non-text columns (trueby default).
There is also a list of default options supported by every validator: :if, :unless, :on, :allow_nil, :allow_blank, and :strict. See ActiveModel::Validations::ClassMethods#validates for more information.
75 76 77 |
# File 'lib/active_model/validations/confirmation.rb', line 75 def validates_confirmation_of(*attr_names) validates_with ConfirmationValidator, _merge_attributes(attr_names) end |