2010-04-09 35 views
9

Estoy usando el sistema de validación de jQuery para la validación del lado del cliente. El backend funciona con django. jQuery utiliza un conjunto interesante de reglas en formato JSON.¿Cómo usar las reglas de validación tanto del lado del cliente como del lado del servidor?

¿Existe algo para usar las mismas reglas en el lado django o tengo que codificarlo yo mismo?

+0

Creo que el mundo necesita algún tipo de marcado de validación que pueda ejecutarse tanto en el lado del cliente como del servidor. Los motores escritos para cada entorno procesarían la validación. Un poco como un esquema xml, supongo. –

Respuesta

2

No, no existe tal cosa.

Sí, debe codificarlo usted mismo.

Sin embargo, me imagino que podría crear widgets que puedan entregar rutinas genéricas js de validación basadas en modelFields. Tales como "Esto debería ser caracteres no más de max_length". Sin embargo, no pudieron generar trivialmente el código del lado del cliente para validar cualquier validación personalizada escrita en Python, ni siquiera algo así como "Este debe ser el nombre de usuario de un usuario existente". Pero si se toma molestias para construir los widgets que hacen validación básica sobre la base de los ModelFields por favor, colabore con el código abierto: -D

+0

Ya es para un proyecto de código abierto, así que será de todos modos :) Por supuesto, esto podría ser válido solo para operaciones que necesitan ser duplicadas, por ejemplo validación de fecha, o validación de confirmación de contraseña y cosas así ... Si se trata de una base de datos implicará el servidor y algunos ajax para la validación del cliente. –

2

En este artículo se describe un cierto nivel de integración: http://streamhacker.com/2010/03/08/jquery-validation-django-forms/

No parece como si en realidad genera los metadatos del lado del cliente basados ​​en los metadatos del lado del servidor, pero al menos pone todas las reglas en un solo lugar. Puede ser un buen punto de partida para generar esas reglas basadas en las reglas existentes de Django.

Cuestiones relacionadas