campo Validar no modelo com nenhuma tabela (CakePHP)
Pergunta
Eu tenho um modelo em CakePHP que não tem uma tabela, chamada Upload. Eu tenho uma validação neste modelo para um campo chamado SOURCE_ID.
Eu tenho um formulário que constrói uma boa aparência $ this-dados, dando-me um conjunto bem formatada, incluindo:
$this->data['Upload']['source_id']
No entanto, a regra de validação Eu tenho conjunto não parece correr. Copiei esta regra de validação de um outro modelo onde ela não funciona, por isso estou confiante de que ele funciona:
var $validate = array(
'source_id' => array(
rule' => 'numeric',
'required' => true,
'allowEmpty' => false,
'message' => 'Error!.'
)
);
Can você não campos validar para um modelo que carece de uma tabela de banco de dados?
O formulário utiliza o modelo de Upload, e submete-se outro método de ação do controlador.
CakePHP 1.2, PHP / MySQL 5, XAMPP.
Solução
Eu sou burro. Você tem que acionar uma verificação de validação, ou com um save () ou
$this->Upload->set($this->data);
$this->Upload->validates();
Working agora.
Outras dicas
Você também pode falso a estrutura de banco de dados, definindo o array $ _schema, assim:
var $useTable = false;
var $_schema = array(
'name' =>array('type'=>'string', 'length'=>100),
'email' =>array('type'=>'string', 'length'=>255),
'phone' =>array('type'=>'string', 'length'=>20),
'subject' =>array('type'=>'string', 'length'=>255),
'message' =>array('type'=>'text')
);