Frage

Ich habe ein Modell in CakePHP bekam, die nicht eine Tabelle hat, die so genannte Upload. Ich habe für ein Feld namens source_id eine Validierung in diesem Modell bekommt.

Ich habe eine Form bekomme, die ein gut aussehenden $ dieses Datum baut, mir ein gut formated Set enthalten, einschließlich:

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

Allerdings ist die Gültigkeitsregel I gesetzt haben scheint nicht auf Anhieb funktioniert. Ich kopierte diese Gültigkeitsregel aus einem anderen Modell, wo es funktioniert, also bin ich zuversichtlich, dass es funktioniert:

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

Können Sie Felder nicht validieren für ein Modell, das eine Datenbanktabelle fehlt?

Das Formular verwendet das Hochladen von Modell und legt an einem anderen Controller-Aktion-Methode.

CakePHP 1.2, PHP / MySQL 5, XAMPP.

War es hilfreich?

Lösung

Ich bin stumm. Sie haben eine Gültigkeitsprüfung auslösen, entweder mit einem save () oder

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

Arbeits jetzt.

Andere Tipps

Sie können auch fälschen die Datenbankstruktur durch die $ _schema Array einstellen, etwa so:

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')
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top