J'essaie d'implémenter la validation de formulaire à l'aide de modèles cakephp. Voici mes extraits de code ...Cakephp: Validation Les erreurs n'apparaissent pas dans la validation des données
Modèle
// File: /app/models/enquiry.php
class Enquiry extends AppModel {
var $name = "Enquiry";
var $useTable = false;
var $_schema = array(
"name" => array("type" => "string", "length" => 100),
"phone" => array("type" => "string", "length" => 30),
"email" => array("type" => "string", "length" => 255)
);
var $validate = array(
'name' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Name is required'
),
'email' => array(
'emailFormat' => array(
'rule' => 'notEmpty',
'required' => true,
'message' => 'Email is required'
),
'emailNeeded' => array(
'rule' => array('email', true),
'required' => true,
'message' => 'Must be a valid email address'
)
)
);
}
action contrôleur
// /app/controllers/nodes_controller.php
class NodesController extends AppController {
var $name = "Nodes";
var $uses = array("Enquiry");
function enquire() {
if ($this->data) {
$this->Enquiry->set($this->data);
if ($this->Enquiry->validates()) {
// .....
} else {
$this->set("errors", $this->Enquiry->invalidFields());
}
}
}
}
Voir ....
// /app/views/nodes/enquire.ctp
<?php echo $form->create("Node", array("action" => "ask")); ?>
<?php echo $form->input("name", array(
"error" => array("class" => "error-message"),
"div" => false,
"label" => "Name",
"size" => "40"
)); ?>
<?php echo $form->input("email", array(
"error" => array("class" => "error-message"),
"div" => false,
"label" => "Email",
"size" => "40"
)); ?>
<?php echo $form->input("phone", array(
"label" => "Phone No.",
"div" => false,
"size" => "30"
)); ?>
<?php echo $form->end("Send");?>
Mon problème: Sur présentation, la validation de formulaire se produit, la méthode Model-> validates renvoie false, mais les erreurs de validation ne sont jamais affichées. J'ai vérifié le tableau retourné par invalidFields(), tous les messages d'erreur que j'ai définis dans le modèle sont là, mais ils ne sont pas affichés ....
Qu'est-ce que je fais mal?
Cordialement
et nous avons trouvé la réponse :) Merci homme. – vikmalhotra