Re: Help with rails validates

39 views
Skip to first unread message

Timster

unread,
Jan 3, 2013, 1:04:38 PM1/3/13
to rubyonra...@googlegroups.com
Seems to look okay, but maybe try removing "private" from the license_extended? method?

Timster

unread,
Jan 3, 2013, 1:08:28 PM1/3/13
to rubyonra...@googlegroups.com
Meant to add: this could be the problem since the Validator object cannot access the method on your model instance, so it's always returning "false".

Curtis Ovard

unread,
Jan 4, 2013, 10:59:55 AM1/4/13
to rubyonra...@googlegroups.com
I actually figured this out. Looged at the debug console on my app and noticed that with the extended_license_type it was passing a '0' back since none of the check boxes were checked. My validates only checks for the presence of that field and '0' is something so that is what it was.

On Thursday, January 3, 2013 8:52:08 AM UTC-7, Curtis Ovard wrote:
I have a question on rails validates. I need to validate that one field is filled out if another field has a certain value. The code is below, but if license has extended selected then the extended license type needs to be filled in. I have this but it isn't working, when I fill the form out and select extended and don't check anything for extended_license_type, it validates fine and I get no error message.

  validates :license, presence: true
  validates :extended_license_type, presence: true, :if => :license_extended?

private
    def license_extended?
      license == 'extended'
    end
Reply all
Reply to author
Forward
0 new messages