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