¿Cómo agrego una opción 'Elegir uno' a un selector de cuadro combinado y luego lo valido en CakePHP?
-
03-07-2019 - |
Pregunta
Soy un novato de Cake PHP.
Quiero editar la tabla " Emitir " ;. Esta tabla contiene un campo " priority_id " relacionado con otra tabla llamada " Prioridad " por una clave externa. Esta tabla contiene tres valores " Grave ", " Desastre " ;, " ToDo " El usuario puede seleccionar la prioridad usando un cuadro combinado (selección de entrada).
Las prioridades se cargan así:
$priorities = $this->Issue->Priority->find('list');
Esto funciona para mí.
Necesito agregar una cuarta opción al cuadro combinado llamado " Elegir " ;. Este valor será el predeterminado. El usuario no puede enviar el formulario cuando se selecciona este valor. La motivación es forzar al usuario a seleccionar uno de los valores significativos en lugar de enviar el primero de forma aleatoria.
1) ¿Cómo puedo llenar la matriz $ prioridades? 2) ¿Cómo puedo validar el formulario?
Gracias
Solución
En las vistas issues / add.ctp y issues / edit.ctp, agrega una clave vacía a la matriz de opciones enviada como el segundo parámetro al método $ form- > input (), por ejemplo
echo $form->input('priority_id', array('empty' => 'Choose'));
Esto agregará una opción en la parte superior del cuadro combinado con el texto 'Elegir' y el valor de la opción será una cadena vacía.
En tu modelo de problema, puedes agregar una validación para el campo de prioridad_id, por ejemplo
var $validate = array(
'priority_id' => array('numeric')
);