Por lo tanto, el marco es CodeIgniter 2.0.2. Tengo un formulario que tiene grupos de campos que corresponden a filas en una base de datos. Los nombres de los campos están en el formato:CodeIgniter: Validar formulario con datos POST multidimensionales
opt[0][foo]
opt[0][bar]
opt[1][foo]
opt[1][bar]
etc...
El índice (1,2, etc ...) no corresponde a la fila identificadores en la base de datos, que es simplemente una manera de dividir los grupos de campos. Puede haber lagunas en el índice ya que los usuarios pueden agregar y eliminar un número arbitrario de los grupos de campo. Todos los grupos son idénticos, es decir, contienen exactamente el mismo conjunto de campos con los mismos nombres de segundo nivel.
Quiero ser capaz de utilizar la biblioteca de validación de CodeIgniter para validar el formulario y (p) volver a llenar según sea necesario. He encontrado un montón de publicaciones (además de la excelente guía de usuario de CI) sobre cómo poblar previamente y sé cómo trabajar con la repoblación en general. Sin embargo, esta es la primera vez que tengo que probar con los nombres de los campos indexados como se indicó anteriormente. He intentado el siguiente y no funciona:
array(
'field' => 'opt[][foo]',
'label' => 'Foo',
'rules' => 'required'
)
supongo que sólo que esperaba demasiado y CodeIgniter no apoya lo que necesito que haga. La ampliación de la biblioteca de validación de formularios existente es una opción, por lo que si alguien ha estado en la misma situación y puede proporcionar algunos consejos que serían muy bienvenidos.
ACTUALIZACIÓN:
Sólo un poco de información adicional, también he intentado validar un campo específicamente indexado (véase más adelante) y que también no funcionaba ... Tengo entendido que la validación multidimensional debe trabajar en el caso específico:
array(
'field' => 'opt[0][foo]',
'label' => 'Foo',
'rules' => 'required'
)
Las funciones de devolución de llamada no son el problema aquí. Los nombres de campo son el problema. – Endophage