Dinamismo com AJAX

18 views
Skip to first unread message

Marcelo Boeira Júnior

unread,
Sep 26, 2012, 6:18:28 PM9/26/12
to zfbr...@googlegroups.com
Se eu tenho um campo que tem que ser validado via banco de dados, como dou o retorno, no controller? eu tenho que validar se ja existe usuário com aquele login, na hora de criar um usuário novo, para não duplicar o login.

Enfim, eu tenho um método que verifica essa existência no model, a minha dúvida, é como adicionar a classe "error" no form, no momento de verifica pelo $form->isValid($data), fazer a mesma validação que o form faz quando você usa um requered, para ele gerar um erro.

E também, se existe alguma forma de fazer isso direto, por ajax, tipo, uma camada de serviços, que verificariam essas existencias, e validações dinâmica, e se eu só desabilitar o render da action, e fazer ele tratar até funciona, mas e se eu quiser adicionar algum tipo de validação, para ver se ele tem permissão para estar chamando aquele "serviço", eu uso o Zend_Auth::getInstance()->hasIdentity() ?? pois não quero que tipo, fique aberto para qualquer um visualizar, podem descobrir o link do serviço e ficar "brincando" tipo, se eu passasse a ID por GET poderiam ficar passando ID's, tentar SQL Injection, etc... então, eu queria filtrar isso.

Silas Ribas Martins

unread,
Sep 26, 2012, 6:21:27 PM9/26/12
to zfbr...@googlegroups.com
Salve,

Existe os Zend_Validates_*RecordExists que verifica e valida se existe ou nao existe. Pode ser adicionado ao campo do formulario se estiver usando Zend_Form.

OU voce pode criar o seu metodo que chama um ajax no blur do campo e retorna algo dizendo que existe ou nao.

-- 
Silas Ribas Martins
55 71 9155.0533 / 8892.6095

--
Essa mensagem faz parte do grupo "zfbrasil" no Google Groups.
Para escrever neste grupo, envie um email para zfbr...@googlegroups.com
Para se desligar do grupo, envie um email para zfbrasil-u...@googlegroups.com
Mais informações, visite o grupo em http://groups.google.com/group/zfbrasil?hl=pt-BR

Thiago Gonçalves

unread,
Sep 27, 2012, 8:46:49 AM9/27/12
to zfbr...@googlegroups.com
Olha, como sou iniciante, posso ter feito uma baita gambiarra, mas fiz da seguinte forma:

Quanco o cara submete, dentro do método de gravação, eu invoco o método que faz a verificação (conforme o cara respondeu acima).
Se existir, ao invés de chamar o método de insert (ou upadte), eu simplesmente tenho um ELSE passando uma variavel para a view.
Na view, eu já tenho uma condição para exibir ou não uma mensagem de erro, de acordo com essa variável.

Se de fato for gambiarra, por favor, me falem a forma ... digamos ... 'padronizada' de fazer.

Abraços.
--

Thiago Gonçalves
con...@thdevel.com
www.thdevel.com


Ademir Mazer Jr

unread,
Sep 27, 2012, 8:52:34 AM9/27/12
to zfbr...@googlegroups.com
Quanto ao ajax, eu crio ações específicas dentro do controller para informar validações desta natureza.


--------------------------------------------------------------------------------------------------------------------------------
 Ademir Mazer Jr 
Software Engineer - Owner

Winponta - http://www.winponta.com.br
 Treinamentos - http://www.winponta.com.br/moodle

 
ademir....@gmail.com |  http://ademir.winponta.com.br 
--------------------------------------------------------------------------------------------------------------------------------
Reply all
Reply to author
Forward
0 new messages