Ho un modulo con 2 selezioni. In base al valore della prima selezione, aggiorna i valori della seconda selezione utilizzando AJAX. In questo modo il modulo non è valido. Così, ho fatto il prossimo cambiamento:Zend: convalida del modulo: valore non trovato nell'errore del pagliaio
$form=$this->getAddTaskForm(); //the form
if(!$form->isValid($_POST)) {
$values=$form->getValues();
//get the options and put them in $options
$assignMilestone=$form->getElement('assignedMilestone');
$assignMilestone->addMultiOptions($options);
}
if($form->isValid($_POST)) {
//save in the database
}else {
//redisplay the form
}
Fondamentalmente, controllare se è valido e non è se l'utente ha cambiato il valore della prima select. Ottengo le opzioni che hanno popolato la seconda selezione e compilare il modulo con loro. Quindi provo a convalidarlo di nuovo. Tuttavia questo non funziona. Qualcuno può spiegare perché? È presente lo stesso "valore non trovato nel pagliaio".
Prova 'var_dump ($ options);' e poi 'var_dump ($ assignMilestone-> getValue());' e vedi quali risultati ottieni. Deve essere che le chiavi dell'array per '$ options' non contengano il valore corretto impostato. – drew010