|
|
Controller Page Template - Parte III (Validator)
- Se estiver usando no filesystem (com SVN por exemplo):
-
Coloque a linha abaixo no seu metadata:
[validators]
validators = MINHA_PAGINA_DE_VALIDATOR
- E no arquivo MINHA_PAGINA_DE_VALIDATOR.vpy coloque o código abaixo:
## Controller Python Script "MINHA_PAGINA_DE_VALIDATOR"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind state=state
##bind subpath=traverse_subpath
##parameters=
##title=
##
request = context.REQUEST
#verifica e "seta" erros
nome = request.get('nome', None)
if not nome:
state.setError('nome','Por favor, Informe o nome.')
idade = request.get('idade', None)
if not idade:
state.setError('idade','Por favor, Informe a idade.')
#retorna erros
if state.getErrors():
state.setStatus('failure')
return state.set(portal_status_message='Por Favor, corrigir os erros abaixo')
return state
- Se estiver usando direto na ZMI:
-
Na aba "Validation" do seu Controller Page Template, coloque:
Validators="MINHA_PAGINA_DE_VALIDATOR"
-
E no seu arquivo Controller Validator, MINHA_PAGINA_DE_VALIDATOR, coloque o código abaixo:
request = context.REQUEST
#verifica e "seta" erros
nome = request.get('nome', None)
if not nome:
state.setError('nome','Por favor, Informe o nome.')
idade = request.get('idade', None)
if not idade:
state.setError('idade','Por favor, Informe a idade.')
#retorna erros
if state.getErrors():
state.setStatus('failure')
return state.set(portal_status_message='Por Favor, corrigir os erros abaixo')
return state
|