Validation problems

Hi there!

I have a problem with validations: My user model allways validates the
presence of login, password and password_confirmation -
it also does this if I use update_attributes to update a single
attribute.

So for example updating “username” fails, because I of course do NOT
provide
password, password_confirmation etc. when only updating one attribute.

So: How can I make stuff like “username” updateable by update_attributes
and
still make sure that login, password etc have to be validaten when I
do not change a single attribute but the entire record?

Marcel Buchholz wrote:

Hi there!

I have a problem with validations: My user model allways validates the
presence of login, password and password_confirmation -
it also does this if I use update_attributes to update a single
attribute.

So for example updating “username” fails, because I of course do NOT
provide
password, password_confirmation etc. when only updating one attribute.

So: How can I make stuff like “username” updateable by update_attributes
and
still make sure that login, password etc have to be validaten when I
do not change a single attribute but the entire record?

Something like this should work:

validates_confirmation_of :password, :if => :need_to_confirm_pw

private

def need_to_confirm_pw
return true if new_record?
return self.class.find(id).password != self[‘password’]
end

This assumes that whatever processing you do to the password field has
already been done on assignment.

–Al Evans

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs