Tengo un formulario con 2 selecciones. En función del valor de la primera selección, actualiza los valores de la segunda selección usando AJAX. Hacer esto hace que la forma no sea válida. Por lo tanto, hice el siguiente cambio:Zend: Validación de formulario: el valor no se encontró en el error del pajar
$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
}
Básicamente, puedo comprobar si es válida y no es si el usuario cambia el valor de la primera selección. Obtengo las opciones que poblaron la segunda selección y llené el formulario con ellas. Luego trato de validarlo nuevamente. Sin embargo, esto no funciona. ¿Alguien puede explicar por qué? El mismo "valor no se encontró en el pajar" está presente.
Pruebe 'var_dump ($ options);' y luego 'var_dump ($ assignMilestone-> getValue());' y vea qué resultados obtiene. Debe ser que las teclas de matriz para '$ options' no contengan el valor correcto establecido. – drew010