# Date validation how to chech ArgumentError

**URL:** <https://www.ruby-forum.com/t/date-validation-how-to-chech-argumenterror/169792>\
**Category:** Rails\
**Created:** [June 8, 2009, 7:31pm UTC](https://www.ruby-forum.com/t/date-validation-how-to-chech-argumenterror/169792 "2009-06-08T19:31:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [June 8, 2009, 7:31pm UTC](https://www.ruby-forum.com/t/date-validation-how-to-chech-argumenterror/169792/1 "2009-06-08T19:31:04Z")

</div>

I wrote in my user model :

def validate  
errors.add(:born\_on, “is invalid”) if Proc.new { |user|  
DateTime.parse(user.born\_on) }  
end

it’s wrong I know, running in the console raises an ArgumentError

Loading development environment (Rails 2.3.2)

> > born\_on = “99/99/9999”  
> > =\> “99/99/9999”
> 
> > DateTime.parse(born\_on)  
> > ArgumentError: invalid date  
> > from /usr/local/lib/ruby/1.8/date.rb:1573:in `new_by_frags' from /usr/local/lib/ruby/1.8/date.rb:1618:in`parse’  
> > from (irb):2
> 
> >

how can I write my validation Proc ?

thanks for your help

erwin

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [June 9, 2009, 7:55am UTC](https://www.ruby-forum.com/t/date-validation-how-to-chech-argumenterror/169792/2 "2009-06-09T07:55:15Z")

</div>

On Mon, Jun 8, 2009 at 10:59 PM, Erwin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I wrote in my user model :
> 
> def validate  
> errors.add(:born\_on, “is invalid”) if Proc.new { |user|  
> DateTime.parse(user.born\_on) }  
> end

Try out this

def validate  
DateTime.parse(self.born\_on)  
rescue  
errors.add(:born\_on, “is invalid”)  
end

> > >
> 
> how can I write my validation Proc ?
> 
> thanks for your help
> 
> erwin
> 
> >

- Sandip R~  
–  
Ruby on Rails Developer  
[http://sandip.sosblog.com](http://sandip.sosblog.com)  
[http://funonrails.wordpress.com](http://funonrails.wordpress.com)  
[www.joshsoftware.com](http://www.joshsoftware.com)

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [June 9, 2009, 8:41am UTC](https://www.ruby-forum.com/t/date-validation-how-to-chech-argumenterror/169792/3 "2009-06-09T08:41:33Z")

</div>

thanks… I was looking on one direction only… better 2  
eyes ;-))
