Come faccio ad aggiungere un'opzione 'Scegli uno' a un selettore combobox e quindi a convalidarlo in CakePHP?

StackOverflow https://stackoverflow.com/questions/205907

  •  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

È stato utile?

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')
);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top