Come faccio ad aggiungere un'opzione 'Scegli uno' a un selettore combobox e quindi a convalidarlo in CakePHP?
-
03-07-2019 - |
Domanda
Sono un novizio di Cake PHP.
Voglio modificare la tabella " Issue " ;. Questa tabella contiene un campo " priority_id " correlato a un'altra tabella denominata " Priorità " da una chiave esterna. Questa tabella contiene tre valori "Grave", "Disastro", "Da fare". L'utente può selezionare la priorità utilizzando una casella combinata (selezione input).
Le priorità sono caricate in questo modo:
$priorities = $this->Issue->Priority->find('list');
Questo funziona per me.
Devo aggiungere una quarta opzione alla casella combinata chiamata " Scegli " ;. Questo valore sarà predefinito. L'utente non può inviare il modulo quando questo valore è selezionato. La motivazione è di forzare l'utente a selezionare uno dei valori significativi invece di presentare il primo in modo casuale.
1) Come posso riempire l'array $ Priorità? 2) Come posso convalidare il modulo?
Grazie
Soluzione
Nelle viste issues / add.ctp e issues / edit.ctp, aggiungi una chiave vuota all'array di opzioni inviato come secondo parametro al metodo $ form- > input (), ad esempio
echo $form->input('priority_id', array('empty' => 'Choose'));
Questo aggiungerà un'opzione nella parte superiore della casella combinata con il testo 'Scegli' e il valore dell'opzione sarà una stringa vuota.
Nel modello Issue, puoi aggiungere una convalida per il campo prioritario, ad esempio
var $validate = array(
'priority_id' => array('numeric')
);