replaced mine with this one now :) thanks small typos: from gluon.validators import Validator def __init__(self,error_message='invalid!'):
On Wed, Sep 26, 2012 at 3:25 PM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > Yes. > > you can do: > > import re > from gluon.validator import Validator > class CANADIAN_ZIP(Validator): > regex = re.compile('^[ABCEGHJKLMNPRSTVXY]{1}\d{1}**[A-Z]{1} > *\d{1}[A-Z]{1}\d{1}$') > def __init__(self,error_message='invalid!): > self.error_message = error_message > def __call__(self,value): > value = str(value).upper() > if self.regex.match(value): return value, None > else: return value, self.error_message > > then use requires=CANADIAN_ZIP() > > On Wednesday, 26 September 2012 14:21:07 UTC-5, Richard wrote: > >> You can may use .capitalize() before the vars get validated by >> validators. I thought that there was a way to do action before the form get >> validated, but I can't find in the book, something like beforevalidation, >> instead of onvalidation that is provided. >> >> I think that if beforevalidation doesn't exist it could be helpful >> sometimes, but in this case you can just make your own validator that could >> be base on IS_MATCH() and only .capitalize() variable before it get into >> IS_MATCH() >> >> Richard >> >> >> On Wed, Sep 26, 2012 at 7:29 AM, Le Don X <don.cl...@gmail.com> wrote: >> >>> don't be sorry for jumping in .... it is appreciated ! .. and refreshing >>> to noticed that there are canadian folks like me on here ! >>> >>> to resume ... from all the responses received - the best canadian postal >>> code validation is actually the one submitted by Adnan : >>> >>> this one : ^[ABCEGHJKLMNPRSTVXY]{1}\d{1}**[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$ >>> >>> thank you ! ... >>> >>> with just one addition : the postal code entered will need to be >>> capitalised before validation to avoid any issues ! >>> >>> This thread could help others with the same concern ! >>> >>> -- >>> >>> >>> >>> >> >> -- > > > > --