Porque você não está usando Model :)
Você tem que criar um Model. No seu código você usou o Controller com
nome Contact (passe ele para Contacts - no plural) e faça o model
Contact. Não esqueça de fazê-lo extendido de AppModel e colocar o var
$useTable = false;
Acho que isso já vai resolver seu problema.
Juan Basso
On 24 jan, 10:08, DrWinux <[EMAIL PROTECTED]> wrote:
> pessoal oww eu de novo..
> fiz da seguinte maneira
>
> <?php
> class ContactController extends AppController {
>
> var $name = 'Contact';
> var $uses = array();
> var $helpers = array('Html', 'Form', 'Format', 'Layout');
> var $components = array('Email');
>
> function index()
> {
>
> if ( empty($this->data) ) {
>
> pr($this->data);
>
> }else{
>
> //pr($this->data);
>
> $this->Contact->data = $this->data;
>
> if ($this->Contact->invalidFields($this->data))
> {
> echo 'envio';
>
> $this->Email->to = '[EMAIL PROTECTED]';
> $this->Email->subject = 'Cake test template email';
> $this->Email->replyTo = '[EMAIL PROTECTED]';
> $this->Email->from = 'Cake Test Account
> <[EMAIL PROTECTED]>';
> $this->Email->template = 'test';
>
> //Do not pass any args to send()
> if ( $this->Email->send() ) {
> $this->Session->setFlash('Template email sent');
> } else {
> $this->Session->setFlash('Template email not
> sent');
> }
> $this->redirect('/contato');
>
> }else{
>
> $this->redirect('/contato/erro');
>
> }
> pr($this->data);
> }
>
> }}
>
> ?>
>
> porem esta gerando esse erro
>
> Fatal error: Call to undefined method stdClass::invalidFields() in F:
> \Desenvolvimento\htdocs\cake\app\controllers\contact_controller.php on
> line 23
>
> Porque sera que não esta reconhecendo a função invalidFields?
>
> Desde já agradeço pessoal..
> AT+
>
> On 23 Jan, 20:39, Juan Basso <[EMAIL PROTECTED]> wrote:
>
>
>
> > Eber,
>
> > Só lembrando que a versão 1.2.6311 entrou em desuso a parte de passar
> > os dados por parâmetro. O modo de fazer tem que usar o $this->Modelo->data
> > = $this->data e depois utilizar o validates() ou o
>
> > invalidFields() que são basicamente a mesma coisa.
> > A diferença é que validates retorna um valor boolean (true se for
> > valido, false não...) e a invalidFields retorna um array com os erros.
> > Aí vai do que você quer fazer...
>
> > Mas eu havia esquecido do $useTable = false.
>
> > Juan Basso
>
> > On 23 jan, 20:14, DrWinux <[EMAIL PROTECTED]> wrote:
>
> > > valeu gente, vcs sauvaram minha vida.
> > > heheh
>
> > > at+
>
> > > On 23 jan, 19:21, "Eber Freitas Dias" <[EMAIL PROTECTED]> wrote:
>
> > > > Eu acho que a melhor maneira é você fazer como o Sadjow falou e dai no
> > > > seu
> > > > controller criar uma função mais ou menos assim:
>
> > > > if($this->Model->validates($this->data)) {
> > > > //executa o envio do email...
>
> > > > }
>
> > > > pronto, se não validar, ele vai retornar à página automaticamente com as
> > > > informações necessárias pra corrigir o formulário... Acho que é isso...
>
> > > > 2008/1/23 Sadjow Medeiros Leão <[EMAIL PROTECTED]>:
>
> > > > > Coloca no Model : var $useTable = false;
>
> > > > > que resolve..
>
> > > > > Valeu!
>
> > > > > 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+
>
> > > > --
> > > > -- Éber Freitas Dias
> > > > --
> > > > -- aCoruja.com - O curso que você quer está aqui!
> > > > -- DesignUp.pro.br - Vagas, freelas e estágios em design e afins!-
> > > > Ocultar texto entre aspas -
>
> > > - Mostrar texto entre aspas -- Ocultar texto entre aspas -
>
> - Mostrar texto entre aspas -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---