Da uma olhada no 7° post acima( do dia 24 Jan, 16:41 ), la tem um
exemplo de da validação que vc quer, com MODEL, CONTROLLER e VIEW.


On 25 Jan, 14:08, "rodrigo aramburu" <[EMAIL PROTECTED]>
wrote:
> Gustavo, estou tentendo utilizar um modelo sem acesso ao BD mesmo, só quero
> utilizar a validação mesmo, teria algum exemplo dos metodos que deve
> implementar.
>
> Em 25/01/08, Gustavo Carreno <[EMAIL PROTECTED]> escreveu:
>
>
>
>
>
> > Boas Rodrigo,
>
> > Parece que vc está tentando usar um modelo que não tem tabela.
> > Bem primeiro o membro do Controller::$useTable não existe, pode apagar no
> > seu.
> > Depois no Model::$useTable vc tem false, isso indica um modelo que não
> > vai aceder à BD mas que vai ter de re-implementar alguns dos métodos
> > da classe de modo a fornecer dados.
> > Sendo que o seu modelo me parece que deve aceder à BD, deve apagar
> > $useTable = false;
>
> > Depois devo perguntar: Que raio vc está fazendo no Constructor desse
> > Controllador, vc devia estar usando os metodos: index(), view($id =
> > null), etc e não o Constructor do Controlador.
>
> > Tenta usar o "cake -app bake controller" na linha de comando para
> > gerar seus sontroladores, vai ver que aprende imenso com isso.
> > Ou "cake -app bake model" para os modelos, ou "cake -app bake view"
> > para as views.
>
> > Se precisar de alguma ajuda pode dar uma olhada em
> >http://www.cakephp.org/screencasts. Ai tem os videos para usar a linha
> > de comando.
>
> > 2008/1/25 rodrigo aramburu <[EMAIL PROTECTED]>:
> > > estava tentando seguir o exemplo no cake 1.2, mas esta dando uma
> > mensagem q
> > > não entendo.
>
> > > <b>Warning</b> (512)</
> > > a>: (Model::getColumnTypes) Unable to build model field data. If you are
> > > using a model without a database table, try implementing loadInfo()
> > > [<b>CORE/cake/libs/model/model.php</
> > > b>, line <b>902</b>]
>
> > >  controller
> > > <?php
> > > class ContatoController extends AppController {
> > >     var $name = 'Contato';
> > >     var $helpers = array('Html','Form');
> > >     var $useTable = false;
>
> > >     function contato() {
>
> > >         if($this->data){
> > >             print_r($this->data);
> > >             $this->Contato->data = $this->data;
> > >             echo "<br />asdf<br />";
> > >             if( $this->Contato->validates()){
> > >                 echo 'validou';
> > >             }else{
> > >                 echo 'não validou';
> > >             }
> > >         }
> > >     }
> > > }
> > > ?>
>
> > >  model
> > > <?php
> > > class Contato extends AppModel {
> > >    var $name = 'Contato';
>
> > >    var $useTable = false;
>
> > >    var $validate = array(
> > >                'nome' =>  array(
> > >                              'rule' => VALID_NOT_EMPTY,
> > >                              'message' => 'O campo nome deve ser
> > prenchido.'
>
> > >                              ),
> > >                'email' => array(
> > >                              'rule' => array('email'),
> > >                              'message' => 'Por favor informe o email
> > > válido.'
> > >                              ),
> > >                'mensagem' => array(
>
> > >                              'rule' => array('minLength', '10'),
> > >                              'message' => 'Por favor informe uma
> > mensagem.'
> > >                              )
> > >        );
> > > }
> > > ?>
>
> > > view
>
> > >     <div id="content">
> > >             <h2 id="tituloContato">Contato</h2>
>
> > >             <?php if ($session->check('Message.flash')){
> > >                 $session->flash();
> > >             }?>
>
> > >             <div id="divContato">
> > >                 <form method="post" action="<?php echo
> > > $html->url('/contato/')?>">
>
> > >                     <ul>
> > >                         <li>
> > >                             <label for="para">Para</label>
> > >                             <?php echo
>
> > $form->select('Contato/para',array('escritorio'=>'Escritório','julio'=>'Júlio
> > > Perez','nedal'=>'Nedal Thalji','walid'=>'Walid Abur' )); ?>
> > >                         </li>
> > >                         <li>
> > >                             <?php echo
> > > $form->input('Contato/nome',array('label'=>'Nome:','size'=>'30') ); ?>
> > >                         </li>
> > >                         <li>
> > >                             <?php echo
> > > $form->input('Contato/email',array('label'=>'E-mail:','size'=>'30'))?>
> > >                         </li>
>
> > >                         <li>
> > >                             <?php echo
>
> > $form->input('Contato/telefone',array('label'=>'Telefone:','size'=>'10'))?>
> > >                         </li>
>
> > >                         <li>
> > >                             <?php echo
>
> > $form->textarea('Contato/mensagem',array('label'=>'Mensagem','rows'=>'4','cols'=>'65'));
> > > ?>
>
> > >                         </li>
> > >                         <div style="text-align:center">
> > >                            <input type="submit" value="Enviar" />
> > >                         </div>
> > >                 </form>
>
> > >             </div>
>
> > >         <div style="clear:both;"></div>
> > >     </div>
>
> > > Em 23/01/08, DrWinux <[EMAIL PROTECTED]> escreveu:
>
> > > > iai pessoal...
> > > > nem resolvi a duvida passada e ja estou encomodando novamente...
> > > > pesquisei e so achei exemplos para o cake 1.1
>
> > > > aqui vai.
> > > > criei o model da seguinte maneira
> > > > Versão: 1.2
>
> > > > <?php
> > > > class Contact extends AppModel {
>
> > > >         var $name = 'Contact';
> > > >         var $validate = array(
> > > >                 'setor' => array('numeric'),
> > > >                 'email' =>      array(
> > > >                                     'rule' => array('minLength',
> > '10'),
> > > >                                     'message' => 'Por favor informe o
> > > email.'
> > > >                                                 ),
> > > >                 'message' => array(
> > > >                                     'rule' => array('minLength',
> > '10'),
> > > >                                     'message' => 'Por favor informe
> > uma
> > > mensagem.'
> > > >                                                 ),
> > > >         );
>
> > > > }
> > > > ?>
>
> > > > ai a pergunta que mata..
> > > > como uso o model para validar o meu formulario...
> > > > como se eu estivesse salvando no banco.
>
> > > > mais ao inves disso irei envia-lo por email com o componente email...
>
> > > > so preciso de um exemplo..
> > > > se alguem já passou por isso, e souber de algum site
> > > > que tenha esse material, ficarei muito grato.
>
> > > > desde já agradeço
> > > > AT+
>
> > > --
> > > Atenciosamente,
> > > Rodrigo Pletsch Aramburu
> > > MSN:[EMAIL PROTECTED]
>
> > --
> > Gustavo Carreno
> > ---http://batxman.wordpress.com
> > < If you know Red Hat you know Red Hat,
> > If you know Slackware you know Linux >
>
> --
> Atenciosamente,
> Rodrigo Pletsch Aramburu
> MSN:[EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
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 
cake-php-pt@googlegroups.com
 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