¿La mejor solución de JavaScript para la validación e interacción de formularios del lado del cliente? [cerrado]

Nuestros formularios web son realmente complejos. ¿Cuál es una gran solución para la validación de formularios extensible, preferiblemente una que funcione con jQuery?

Antecedentes:

Nuestro sitio tiene un poco de Ajax, pero el enfoque real está en la experiencia del usuario a través de unos 20 formularios de varias páginas o "asistentes". Estas formas son complicadas.

Presentación: Algunos campos son flotadores o int. La validación significa eliminar caracteres no decimales, pero también queremos asegurarnos de que, si un usuario ingresa5 en un campo de precio, el campo se actualiza a5.00.Efectos secundarios: Algunos campos tienen efectos secundarios cuando se actualizan. Por ejemplo, actualizar el precio o la cantidad de un artículo debe actualizar un campo subtotal.Elementos controlados por widgets: Algunos campos están ocultos y tienen valores poblados por widgets. Por ejemplo, un widget de mapa le permite apuntar a una ubicación y un campo oculto se actualiza con coordenadas de latitud y longitud, pero la ubicación debe estar dentro de una determinada región.Grupos: Algunos campos son grupos, como dirección / ciudad / estado / código postal, y solo deben validarse cuando se hayan completado todos los campos.Validación del lado del servidor: La validación de algunos campos requiere una verificación de back-end a través de solicitudes AjaxMúltiples formularios por página: A veces, un usuario necesita completar un formulario antes de que se abra un cuadro de diálogo con otro formulario. Un marco tiene que ser más versátil que vincularse aonSubmit - a veces publicamos múltiples formularios en orden desde la misma página usando Ajax. (Por ejemplo, permitimos que los usuarios se registren y creen un widget de una sola vez pero, debido a los sistemas heredados, ese flujo requiere dos solicitudes POST).Pantalla de error personalizable: A veces, los errores aparecen sobre los campos, a veces el estilo del campo cambia, y nuestros nuevos diseños requieren ventanas emergentes similares a herramientas (alaqConsejo) para algunos errores.Snappiness La experiencia del usuario es clave y la retroalimentación táctil es importante. Alguna soluciónEnviar botones: Al hacer clic en el botón Enviar, se debe validar todo y luego mostrar una respuesta, pero dado que parte de la validación ocurre de forma asincrónica.

Actualmente estamos usando elValidación de jQuery biblioteca pero nuestras formas parecen estar superando su capacidad. He estado mirando cosas como<angular />, Knockear yBackbone.js, pero me preocupa que sean demasiado pesados o que requieran que reescribamos nuestra interfaz.

(Esto debería ser un wiki comunitario).

Respuestas a la pregunta(8)

Su respuesta a la pregunta