Hi I'm trying to setup a validation that is only called in a specific form view, to do this I'm trying to create a hidden_field for a virtual attribute on the form and set this to a value, then validate :if the virtual attribute equals the value.

So far I have:

## user model 

validates_presence_of :password_confirmation, :if => :confirmation_validation 

attr_accessible :email, :password, :password_confirmation, 
 :remember_me, :name, :avatar, :username, :bio, :confirmation_validation

def confirmation_validation
 # not sure what goes here???
end


## form view


<%= form_for(resource, :validate => true, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }, :html => {:multipart => true}) do |f| %>
<%= devise_error_messages! %>

<p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
<%= f.password_field :password %></p>

<p><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
<% f.hidden_field :confirmation_validation, :value => 100%></p>

<p><%= f.submit "Update" %></p>
<% end %>
Edit
Report