More like this:
class MyValidator(object):
def __call__(self,value):
return (cleanUpNumber(value), None)
FORM(INPUT(_name='phone',requires=MyValidator())
On Oct 8, 7:48 am, Anthony <[email protected]> wrote:
> Something like:
>
> FORM(INPUT(_name='phone',
> requires=lambda v: IS_NOT_IN_DB(db,
> 'yourtable.phone')(cleanUpNumber(v))))
>
> Anthony
>
>
>
>
>
>
>
> On Saturday, October 8, 2011 8:10:51 AM UTC-4, Ed Greenberg wrote:
>
> > I have a table of US phone numbers in ten digit form. When I store
> > them, I take out all non-numeric characters using:
>
> > def cleanUpNumber(number):
> > return re.sub(r'\D',"",number)[-10:]
>
> > I use a FORM() to get the numbers. Not a SQLFORM or CRUD.
>
> > I would like to use IS_NOT_IN_DATABASE(...) to make sure that I don't
> > get duplicates.
>
> > How can I get the validator to run the values through cleanUpNumber()
> > before looking in the database?
>
> > Ed