Question

J'ai un modèle dans CakePHP qui n'a pas de table, appelé Upload. J'ai une validation dans ce modèle pour un champ appelé source_id.

J'ai un formulaire qui construit de jolies $ this-data en me donnant un ensemble bien formulé, y compris:

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

Cependant, la règle de validation que j'ai définie ne semble pas fonctionner du tout. J'ai copié cette règle de validation à partir d'un autre modèle où cela fonctionne. Je suis donc sûr que cela fonctionne:

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

Ne pouvez-vous pas valider les champs d'un modèle dépourvu de table de base de données?

Le formulaire utilise le modèle de téléchargement et est soumis à une autre méthode d'action du contrôleur.

CakePHP 1.2, PHP / MySQL 5, XAMPP.

Était-ce utile?

La solution

Je suis bête. Vous devez déclencher une vérification de validation, soit avec une sauvegarde () ou

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

Travailler maintenant.

Autres conseils

Vous pouvez également simuler la structure de la base de données en définissant le tableau $ _schema, comme suit:

var $useTable = false;

var 

Vous pouvez également simuler la structure de la base de données en définissant le tableau $ _schema, comme suit:

<*>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') );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top