¿Cómo agrego una opción 'Elegir uno' a un selector de cuadro combinado y luego lo valido en CakePHP?

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

  •  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

¿Fue útil?

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')
);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top