 <p><a href="http://guides.rubyonrails.org/active_record_validations.html#conditional-validation" rel="nofollow"><strong>Conditional Validations</strong></a></p> <p>Was going to suggest you use some sort of <a href="http://guides.rubyonrails.org/active_record_validations.html" rel="nofollow">conditional validations</a>, as follows (then I read the comments):</p> <pre><code>#app/models/consumer.rb class Consumer &lt; ActiveRecord::Base ... validates :password_confirmation, presence: {message: "Retype password!"}, if: Proc.new {|a| a.password.present? } end </code></pre> <p>This is the best I can provide for your particular situation - I've not created a <code>password</code> signup / authentication procedure myself (always relied on other classes), so if you wanted to use <code>has_secure_password</code> etc - I'll have to update my answer to help</p>