Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/06/2012, 08:45
arhego
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: duda con validacion en formulario en cakephp

Para que puedas hacer validaciones diferentes debes establecer campos diferentes o validar ese dato independientemente, eso lo puedes hacer desde el controller o desde el modelo con un método aparte, además deberias identificar cada formulario para saber si es o no obligatorio.

Para establecer campos diferentes debes nombrar de manera diferente el campo, si estas usando un element (ya que es el mismo formulario segun entiendo), desde tu controlador le podrías mandar el nombre para diferenciarlos, entonces con el nombre del campo que cambia dinámicamente en el modelo defines dos reglas, una para cada nombre, al validar lo hace con la regla correspondiente, luego al guardar lo haces con set() para que no tengas problema con el nombre y campo correcto.

Si quieres usar el mismo nombre de campo debes en primer lugar tener bien identificado cuándo el formulario tendrá el campo obligatorio y cuándo no tendrá el campo obligatorio, entonces desde tu controlador debes tomar ese valor que te indica si es obligatorio o no y hacer un metodo como _validaCampo($dato) y desde ahí validas las reglas necesarias de obligatoriedad, las demás validaciones las puedes hacer desde el modelo sin ningún problema.
Ten en cuenta que de esta manera en el modelo lo haces no obligatorio, desde el controlador lo haces obligatorio . De cualquier manera en tu tabla debe ser no obligatorio.

Seguramente hay mejores maneras, son las que ahora mismo se me ocurren.

Saludos