Inclua o código abaixo em um model, no início do arquivo db.py em um arquivo que em ordem alfabética seja anterior a db.py. Eu uso 0_validators.py
Para usar, use como um validator comum, na definição da tabela
...
Field('cep', requires=IS_CEP()),
...
ou após a definição:
db.mytable.cep.requires = IS_CEP()
class IS_CEP(object):
def __init__(self, format=True, error_message='Digite apenas os números!'):
self.format = format
self.error_message = error_message
def __call__(self, value):
try:
#return (value, 'cpf incorreto'+str(value))
#return (value, 'cpf incorreto'+str(cl))
c = []
for d in value:
if d.isdigit():
c.append(d)
cl = str(''.join(c))
#return (value, 'cpf incorreto'+str(cl))
if len(cl) == 8:
cep = cl
return(str(cep),None)
else:
return (value, 'Número de dígitos incorreto para CEP')
except:
return (value, 'algum erro'+str(value))
def formatter(self, value):
formatado = value[0:2]+'.'+value[2:5]+'-'+value[5:8]
return formatado
2 comentários:
This is gorgeous!
Thank you for your commentary!
Postar um comentário