2008-10-15 3 views
1

Je suis un novice Cake PHP.Comment ajouter une option "Choisir un" à un sélecteur de liste déroulante, puis le valider dans CakePHP?

Je veux éditer la table "Issue". Cette table contient un champ "priority_id" lié à une autre table appelée "Priority" par une clé étrangère. Cette table contient trois valeurs "Grave", "Disaster", "ToDo". L'utilisateur peut sélectionner la priorité à l'aide d'une liste déroulante (sélection d'entrée).

Les priorités sont chargées comme ceci:

$priorities = $this->Issue->Priority->find('list'); 

Cela fonctionne pour moi.

J'ai besoin d'ajouter une quatrième option à la liste déroulante appelée "Choisir". Cette valeur sera celle par défaut. L'utilisateur ne peut pas soumettre le formulaire lorsque cette valeur est sélectionnée. La motivation est de forcer l'utilisateur à sélectionner l'une des valeurs significatives au lieu de soumettre le premier au hasard.

1) Comment puis-je remplir les priorités du tableau $? 2) Comment puis-je valider le formulaire?

Merci

Répondre

2

Dans les questions/add.ctp et questions/vues de edit.ctp, ajouter une clé vide au tableau d'options envoyé comme 2ème à la méthode param d'entrée() $ form->, par exemple

echo $form->input('priority_id', array('empty' => 'Choose')); 

Cela va ajouter une option dans la partie supérieure de la zone de liste déroulante avec du texte « Choisissez » et la valeur de l'option sera une chaîne vide. Dans votre modèle Issue, vous pouvez ajouter une validation pour le champ priority_id, par exemple.

var $validate = array(
    'priority_id' => array('numeric') 
); 
+0

Merci beaucoup. Problème résolu. – danatel