validates_confirmation_of
validates_confirmation_of(*attr_names)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}").
There is also a list of default options supported by every validator: :if, :unless, :on, :allow_nil, :allow_blank, and :strict. See ActiveModel::Validation#validates for more information