Hi Massimo, They seem fine. Although, having ready to use validators would save some time for those learning the framework. I personally expected those validators to be already there while I was learning.
On Aug 28, 11:05 pm, Massimo Di Pierro <[email protected]> wrote: > what's wrong with? > > IS_MATCH('[0-9]+') > IS_MATCH('[a-zA-Z]+') > > On Aug 28, 12:59 pm, Saurabh Sawant <[email protected]> wrote: > > > > > > > > > But IS_ALPHANUMERIC by virtue of its name suggests both letters and > > numbers. Having separate validators for each of the cases would make > > the code more readable. > > > db.auth_user.first_name.requires=IS_LETTERS() > > db.auth_user.age.requires=IS_DIGITS() > > > is more readable and less ambiguous than > > > db.auth_user.first_name.requires=IS_ALPHANUMERIC(filter='letters') > > db.auth_user.mobile.requires=IS_ALPHANUMERIC(filter='numbers') > > > On Aug 28, 10:13 pm, Bruno Rocha <[email protected]> wrote: > > > > Or maybe the IS_ALPHANUMERIC can be extended and receive aditional > > > argument > > > 'filter' to allow only letters or only numbers > > > > IS_ALPHANUMERIC(error_message='....', filter='numbers') # to allow only > > > digits > > > IS_ALPHANUMERIC(error_message='....', filter='letters') # to allow > > > letters > > > > can have some filter to allow special, underscores etc... > > > >http://web2py.com/book/default/docstring/IS_ALPHANUMERIC > > > > On Sun, Aug 28, 2011 at 1:54 PM, Saurabh Sawant <[email protected]> wrote: > > > > Hi, > > > > > I think these validators would be a nice addition to the great set of > > > > validators we already have. They can be useful for fields for names > > > > and phone numbers. > > > > > class IS_LETTERS(Validator): > > > > """ > > > > Checks if field's value consists of all letters > > > > > example:: > > > > > INPUT(_type='text', _name='name', requires=IS_LETTERS()) > > > > > >>> IS_LETTERS()("A") > > > > ('A', None) > > > > >>> IS_LETTERS()("") > > > > ('', None) > > > > >>> IS_LETTERS()("A_") > > > > ('A_', 'enter only letters') > > > > >>> IS_LETTERS()("!") > > > > ('!', 'enter only letters') > > > > """ > > > > > def __init__(self, error_message='enter only letters'): > > > > IS_MATCH.__init__(self, '^[A-Za-z]*$', error_message) > > > > > class IS_DIGITS(Validator): > > > > """ > > > > Checks if field's value consists of all numeric digits > > > > > example:: > > > > > INPUT(_type='text', _name='name', requires=IS_DIGITS()) > > > > > >>> IS_NUMBERS()("1") > > > > ('1', None) > > > > >>> IS_NUMBERS()("") > > > > ('', None) > > > > >>> IS_NUMBERS()("A") > > > > ('A', 'enter only numbers') > > > > >>> IS_NUMBERS()("!") > > > > ('!', 'enter only numbers') > > > > """ > > > > > def __init__(self, error_message='enter only digits'): > > > > IS_MATCH.__init__(self, '^[0-9]*$', error_message) > > > > > Regards, > > > > Saurabh Sawant > > > > -- > > > > -- > > > Bruno Rocha > > > [ About me:http://zerp.ly/rochacbruno] > > > [ Aprenda a programar:http://CursoDePython.com.br] > > > [ O seu aliado nos cuidados com os animais:http://AnimalSystem.com.br] > > > [ Consultoria em desenvolvimento web:http://www.blouweb.com]

