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