rubyonrailsin

A Ruby and Rails talk

Friday, March 26, 2010


[Rails] Re: Custom validation

by rubyonrailsin 0 comments

Tag


Share this post:
Design Float
StumbleUpon
Reddit

The validations method you're trying to call is not a class method,
it's a validation helper so you can't call object.validation_method
(in this case Step.validates_numericality_of(...)).

The best way would be to declare customs validations if you want to
call them outside your class and then handle exception (begin/rescue
etc.), you should also use object.errors.add(attribute, 'custom error
message').

Cheers,
Emré.

On Mar 26, 7:43 am, Hugo Mag <li...@ruby-forum.com> wrote:
> Hi Mahmoud,
>
> Thanks for the info but the problem here is that my model does not have
> any validations declared because they depend on the workflow that the
> user sets.
>
> For instance, the user can set that in the Step 1 of the Workflow he
> wants to validate that a given attribute is greater than 300.
> To do this I need to call directly the validates_numericality_of class
> method:
>
> Step.validates_numericality_of(:attribute, :greater_than => 300)
>
> Best regards,
> Hugo
>
>
>
>
>
> Mahmoud Said wrote:
> > I believe you are not thinking in the proper use of validations.
>
> > What you want to do is:
>
> > s = Step.new
> > ...
>
> > s.valid?
> > s.errors.on(*attribute_to_be_validated*)  #returns nil for a valid
> > value. or
> > the error message in case the validation was not met
>
> > On Fri, Mar 26, 2010 at 2:36 AM, Hugo Mag <li...@ruby-forum.com> wrote:
>
> >> def Wrk < ActiveRecord::Base
> >> Posted viahttp://www.ruby-forum.com/.
>
> > --
> > Mahmoud Said
> > Software Engineer - eSpace
> > blog.modsaid.com
>
> --
> Posted viahttp://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment

Subscribe feeds via e-mail

Blog Archive