From: "ara.t.howard" Date: 2008-03-02T01:47:23+09:00 Subject: Re: Ara's main gem: validation with error message On Fri, Feb 29, 2008 at 9:53 PM, Peña, Botp wrote: > Hi, > > This request should probably be addressed directly to Ara but maybe others may have other ideas, so > > Using Ara's main, I have something like the following, > > Main do > argument :user do > required > description "name or userid" > validate{|user| check1(user)} > validate{|user| check2(user,child)} > validate{|user| check3(user,parent)} > end > > def run > p params[:user].value > end > end > > > Currently, i only get one validation message like, > > invalid: argument(user)="botp" > > > It would be nice if i could specify/add an (optional) error message for each validation, like eg > > > validate("user does not exist"){|user| check1(user)} > validate("user must have child"){|user| check2(user,child)} > validate("user need parent"){|user| check3(user,parent)} > > > Are you there, Ara? ;-) > > Sorry for your time, Ara, as i'm fond of your main gem. > Thank you for main. > > kind regards -botp > > one idea: cfp2:~ > cat a.rb require 'main' Main do argument(:user) do required description 'name or userid' message = 'YOU CAN USE A CLOSURE' validate do |user| if user == 'foo' message = 'message one' return false end if user == 'bar' message = 'message two' return false end true end error{ STDERR.puts message } end def run p param[:user].value end end cfp2:~ > ruby a.rb foo message one cfp2:~ > ruby a.rb bar message two cfp2:~ > ruby a.rb foobar "foobar" -- -a -- be kind whenever possible... it is always possible - h.h. the 14th dalai lama