Maybe the core could make a request?

Peter

---------- Forwarded message ----------
From: Bob Silva <[EMAIL PROTECTED]>
Date: Jan 23, 2006 7:34 PM
Subject: RE: [Rails] Re: validates_numericality_of positive integer
To: [EMAIL PROTECTED]


I hacked together a plugin to add a few parameters to
validates_numericality_of based on your needs and my laziness for explicit
checks.

>From the README:

Adds the following parameters:
(plus the messages generated as an error)

:gt => ##     "must be greater than ##"
:gte => ##    "must be greater than or equal to ##"
:eq => ##     "must be equal to ##"
:lt => ##     "must be less than ##"
:lte => ##    "must be less than or equal to ##"
:odd => ##    "must be an odd number"
:even => ##   "must be an even number"
:within => ##..## "must be within ## and ##"

Usage: (in your case)

validates_numericality_of :foo, :integer_only => true, :gt => 0

validates_numericality_of :age, :integer_only => true, :within => 13..100


If RoR team would like to integrate into Rails, have at it. I don't do well
with rejection, so I won't offer it as a patch unless requested.


Download it at:

http://www.umesd.com/better_validates_numericality_of.zip

I'll get it downloadable via script/plugin in due time. Gotta write a few
unit tests first.

Enjoy,

Bob Silva



> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:rails-
> [EMAIL PROTECTED] On Behalf Of Wilson Bilkovich
> Sent: Monday, January 23, 2006 2:49 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [Rails] Re: validates_numericality_of positive integer
>
> On 1/23/06, Peter Michaux <[EMAIL PROTECTED]> wrote:
> > anyone?
> >
> > On 1/19/06, Peter Michaux <[EMAIL PROTECTED]> wrote:
> > > Hi,
> > >
> > > What is the simplest way to validate a positive integer?
> > >
> > > validates_numericality_of :foo, :integer_only => true
> > >
> > > how do I add the positive part? Do I need another validation statement
> > > for pattern matching or do I have to write a validate() funciton for
> > > my model?
> > >
>
> I'd go with this, personally:
> def validate
>   unless foo_before_type_cast.to_s =~ /^[+]?\d+$/
>     errors.add("foo", "is not a valid number")
>   end
> end
>
> 500 and +500 are valid, -500, -500.00, 400.12, etc, are not.
> _______________________________________________
> Rails mailing list
> [EMAIL PROTECTED]
> http://lists.rubyonrails.org/mailman/listinfo/rails

_______________________________________________
Rails mailing list
[EMAIL PROTECTED]
http://lists.rubyonrails.org/mailman/listinfo/rails
_______________________________________________
Rails-core mailing list
Rails-core@lists.rubyonrails.org
http://lists.rubyonrails.org/mailman/listinfo/rails-core

Reply via email to