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.

Foi útil?

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')
);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top