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