¿Existe una biblioteca bien probada y preferiblemente madura para crear formularios en PHP tanto con el lado del cliente (aquí es donde entra jQuery) como con la validación del lado del servidor?
Idealmente, el formulario se generaría a partir de clases de PHP o se escribiría como HTML simple y se analizaría como Agavi . La biblioteca crearía automáticamente los ganchos jQuery correctos para que se pueda ejecutar la validación del lado del cliente jQuery incluida.
Uno de los trabajos que hago con regularidad es una variación del antiguo formulario de contacto y me gustaría estandarizar este trabajo para poder presentar el mismo código de mejores prácticas cada vez. Con esto en mente, el HTML generado por las clases de PHP debería ser lo suficientemente bueno para que se puedan agregar ganchos CSS adicionales donde sea necesario, etc.
Cualquier sugerencia recibida con gratitud.
He estado revisando y revisando las opciones que he encontrado y que otros han sugerido a continuación y, en este momento, clasificaría los proyectos en el siguiente orden de calidad a partir de la pequeña cantidad de pruebas e investigaciones que he realizado en todos ellos.
Todavía no estoy convencido de ninguna de las opciones para ser honesto y me pregunto por qué las personas que se embarcan en estos proyectos no comienzan con algunos componentes sólidos y bien probados. Por ejemplo, habría pensado en una combinación de:
Le daría una buena base estable para trabajar y producir una buena biblioteca además de los componentes probados.
Además, si está interesado en una biblioteca que analice su HTML en lugar de generar el HTML a partir de una clase de PHP, encontré un proyecto llamado Minacl . Como la opción de Agavi que mencioné en la pregunta original.
Puede utilizar ValidForm Builder . Se adapta perfectamente a sus requisitos: con él puede definir formularios con reglas de validación en PHP, y genera los formularios con jQuery y validación del lado del cliente.
Lista de funciones (tomada de su sitio):
ACTUALIZADO para 2017
Agile UI es una biblioteca de componentes PHP UI (y sucesora de atk4.3) que incluye cosas como:
Todos los componentes tienen una interfaz PHP consistente y simple:
$form = new \atk4\ui\Form(); $layout->add($form); $form->setModel(new Country($db)); Si prefiere CRUD, simplemente use \atk4\ui\CRUD . Agile UI también ofrece herramientas para agregar componentes personalizados.
Comparando con software alternativo:
$form->render() o para la aplicación web completa.