Domanda

Ho un modello in CakePHP che non ha una tabella, chiamato Upload. Ho una convalida in questo modello per un campo chiamato source_id.

Ho un modulo che crea un $ this-data dall'aspetto gradevole, offrendomi un set ben strutturato, tra cui:

$this->data['Upload']['source_id']

Tuttavia, la regola di convalida che ho impostato non sembra funzionare affatto. Ho copiato questa regola di convalida da un altro modello in cui funziona, quindi sono sicuro che funzioni:

var $validate = array(
        'source_id' => array(
        rule' => 'numeric',
        'required' => true,
        'allowEmpty' => false,
        'message' => 'Error!.'
    )
);

Non è possibile convalidare i campi per un modello privo di una tabella del database?

Il modulo utilizza il modello di caricamento e invia a un altro metodo di azione del controller.

CakePHP 1.2, PHP / MySQL 5, XAMPP.

È stato utile?

Soluzione

Sono stupido. Devi attivare un controllo di convalida, con save () o

$this->Upload->set($this->data);
$this->Upload->validates();

Ora funziona.

Altri suggerimenti

Puoi anche fingere la struttura del database impostando l'array $ _schema, in questo modo:

var $useTable = false;

var 

Puoi anche fingere la struttura del database impostando l'array $ _schema, in questo modo:

<*>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') );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top