Validação de campos é uma coisa, validação de regras de negócio é
outra...

Veja: no Model você está validando se um campo é vazio, se tem um
formato X, se é inteiro, se é bool, se é isso ou aquilo. O model,
nesse caso, deve validar se o campo senha contém apenas os caracteres
permitidos (A..Za..z0..9, suponhamos). Porém, ele não faz validação de
regras do negócio.

Vou dar um outro exemplo: pela tua lógica, então a validação de
gravação de dados deveria ser feita pelo Model e não pelo Controller.
Digamos que tenha alguém tentando gravar alguma coisa no banco e você
tenha a regra que somente admins podem gravar. Você faria essa
validação no Model? Claro que não, isso é uma regra de negócio e deve
ser feita pelo Controller. Porém, você está puxando dados do Model
para saber se o usuário é admin ou não...

Quanto a crescer o código, eu não vejo o porque crescer o da view,
visto que ela vai continuar o mesmo. A única diferença é onde será o
if. Eu penso que você deve fazer a validação apenas da igualdade dos
dois campos no Controller e descartar o campo "password2" antes de dar
um $this->Model->validate() ou save().

Entendeu o que quero dizer?


Juan Basso

On 27 jan, 14:46, "Sadjow Medeiros Leão" <[EMAIL PROTECTED]> wrote:
> Mas,
> Por que então a validação do cakephp é pelo Model?
>
> Se fosse dessa forma como você está defendendo, VALID_NOT_EMPTY era para ser
> no controller então. Pois é uma regra de negocio para entrar os dados
> entrarem no banco.
>
> Ao meu entender, O Model deve passar todos as regras para o controller
> administra-las. E também, quando se válida pelo controller o código da view
> e do controller ficam cada vez maiores no CakePHP. Isto acontece porque é
> criada uma necessidade de definir mais váriaveis no controller e exibição
> das mesmas na view. E para cada uma delas, talvez seja necessário alguns
> ifs e elses.
>
> Eu defendo que todas as regras de validação de campo de formulário, sejam
> definidas no Model.
>
> Sadjow Medeiros Leão
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Cake PHP Português" do 
Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a