Validação de dados

95 views
Skip to first unread message

Marcio Vinicius

unread,
Sep 25, 2012, 4:52:04 PM9/25/12
to zfbr...@googlegroups.com
Boa tarde para todos!

Tenho uma questão pessoal e gostaria de compartilhar com vocês.
O que vocês acham da validação ser feita também no Model? Atualmente eu uso o Javascript para o front e também no Controller, mas andei pensando em retirar do Controller e passar para o Model(PS; utilizo doctrine 2).

Fica ai a questão e vamos debater. Valeu!

Henrique Ramalho

unread,
Sep 25, 2012, 4:58:10 PM9/25/12
to zfbr...@googlegroups.com
Marcio, já pensei nisso também. Principalmente quando o controller começa a ter muitas linhas de código, fico pensando que colocar as validações na model seria uma forma de "organizar" e "economizar" linhas.
Ao final, concluo que é melhor mesmo no controller pois caso contrário quebraria a ideia de MVC (minha opinião por enquanto).

att

--
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



--
Henrique Ramalho
henriqueramalho.com.br | con...@henriqueramalho.com.brhrd.r...@gmail.com

Esta mensagem, incluindo seus anexos, pode conter informações confidenciais e/ou privilegiadas. Se você não for a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Caso esta mensagem tenha sido recebida por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida elimine-a do seu sistema.

Alisson Chiquitto

unread,
Sep 25, 2012, 5:35:03 PM9/25/12
to zfbr...@googlegroups.com
Se estiver usando MVC, o local correto de validar as informações é
dentro do Model, pois é ele que as manipula (Valida, Filtra, Salva,
Edita, Exclui, etc).
Atualmente minhas validações se concentram mais nos Forms, não é
maneira mais correta, mas é mais fácil de se fazer no ZF1.

Chiquitto

2012/9/25 Henrique Ramalho <hrd.r...@gmail.com>:

Henrique Ramalho

unread,
Sep 25, 2012, 6:16:51 PM9/25/12
to zfbr...@googlegroups.com
Isso eu também faço uso os isValid() das classes extendidas dos forms. Digo quando sobra algo diferente, faço no controller mesmo.

Fernando Rodrigues

unread,
Sep 25, 2012, 7:31:33 PM9/25/12
to zfbr...@googlegroups.com

Não sou expert no ZF, mas acredito quando se trata de validação é interessante usar os validators do form, isso para as validações padrões. Agora no caso de validações mais específicas, acredito que as mesmas podem ser feitas no controller. Na verdade essa é uma grande discussão existente em MVC: onde deve ficar a regra de negócio?

Eu particularmente acredito que a mesma deva ser feita no controller, no caso da model ela serveria para consulta dos dados. E dependendo vc pode também usar helpers para auxiliar no controller.
Fernando Rodrigues dos Santos Pires
 
Analista/Desenvolvedor e Graduando em Sistemas de Informação
 
(31) 8201-0904


Paulo Soares

unread,
Sep 25, 2012, 7:55:14 PM9/25/12
to zfbr...@googlegroups.com

O ZF2 tem uma aborda mais corente com o padrão MVC, onde os filters e validators podem ser definidos no Model/Entity, os quais são utilizados pelos Forms.
Paulo Soares da Silva

Graduando em Ciência da Computação
Universidade Federal de Alagoas - Campus Arapiraca
Desenvolvedor de Sistemas Web

Paulo Soares

unread,
Sep 25, 2012, 7:56:12 PM9/25/12
to zfbr...@googlegroups.com

O ZF2 tem uma aborda mais coerente com o padrão MVC, onde os filters e validators podem ser definidos no Model/Entity, os quais são utilizados pelos Forms.

Paulo Soares

unread,
Sep 25, 2012, 7:57:38 PM9/25/12
to zfbr...@googlegroups.com
Corrigindo...

O ZF2 tem uma abordagem mais coerente com o padrão MVC, onde os filters e validators podem ser definidos no Model/Entity, os quais são utilizados pelos Forms.

Marcio Vinicius

unread,
Sep 25, 2012, 8:31:10 PM9/25/12
to zfbr...@googlegroups.com
É um assunto que dá uma boa discussão mesmo. Eu hoje estou utilizando o Zend 2(Estudando), junto ao Doctrine 2 e achei mais fácil fazer a validação pelo Model, até mesmo quando eu precisar um dia, quem sabe, reutilizar algo daquele model ficaria mais fácil pois até a validação já existe nele.

Então pra isso eu criei uma classe Abstrata para toda Entidade do Doctrine 2, e nela eu faço as devidas validações e com algumas particularidades para cada entidade, estou gostando bastante do resultado.

Eu já pensei em deixar a validação também pelo Form, porém ainda encontro bloqueio em utilizar o Zend\Form\*, não gosto muito da maneira que ele trabalha então crio meu forms na view mesmo, e como já disse valido com jQuery e pelo Model, mas é uma opção interessante também.

Obrigado a todos pelo feedback.

Jadna

unread,
Sep 26, 2012, 8:15:38 PM9/26/12
to zfbr...@googlegroups.com
Alguem aqui poderia me dizer como faço um validator para saber se os campos do zend form foram preenchidos???

Agradeço desde já!

Silas Ribas Martins

unread,
Sep 26, 2012, 8:42:48 PM9/26/12
to zfbr...@googlegroups.com
Salve,

É só por os campos desejados como requeridos que o Zend_Form da erro se nao for preenchido usando o isValid() do formulario pra checar.

-- 
Silas Ribas Martins
55 71 9155.0533 / 8892.6095

--

Jadna

unread,
Sep 27, 2012, 1:38:06 PM9/27/12
to zfbr...@googlegroups.com
Você poderia me mostrar um exemplo?!
Se não for  pedir demais

Silas Ribas Martins

unread,
Sep 27, 2012, 1:42:03 PM9/27/12
to zfbr...@googlegroups.com
Salve,

Voce esta usando Zend_Form pra criar o formulario? Se sim, basta usar isso:

if( $form->isValid( $this->getRequest()->getPost() ) )
{
    //faz a magica com os dados validados
}

Ai ele vai sair validando todos os campos tanto se está obrigatório, propriedade required do elemento, e se os validadores retornam valido.


-- 
Silas Ribas Martins
55 71 9155.0533 / 8892.6095

Bruno Scherer

unread,
Oct 11, 2012, 12:05:47 PM10/11/12
to zfbr...@googlegroups.com
Galera,

Atualmente utilizo das ferramentas disponibilizadas pelo Zend_Validate para fazer validação de informações como datas, e-mail, cnpj e afins. Pois tratam-se de validações sobre o tipo de dado informado no formulário.
Já as regras de negócio da aplicação eu mantenho na model, pois na minha opnião o controller deve servir unica e exclusivamente para controle de fluxo da aplicação.
A model ainda por sua vez poderia até ser dividida em outras camadas, mas o importante é que sempre fique abaixo da model as regras de negócio, controle de registro e consulta de informações e etc...

Espero ter ajudado.

Abraços!
Reply all
Reply to author
Forward
0 new messages