2009-01-29 34 views
5

Realmente me gustaría utilizar jQuery Validation plugin en mi aplicación ASP.NET Web Forms (no MVC).jQuery Validation plugin and ASP.NET validators Web Forms

Valoro la validación de jQuery para la experiencia de IU más rica que puedo proporcionar al usuario final y tengo algunos requisitos para resaltar los campos no válidos usando un borde rojo (css).

Valoro los validadores de asp.net porque ejecutan las validaciones no solo en el cliente sino también en el servidor para no abrir varias vulnerabilidades de seguridad a cualquier usuario que sea lo suficientemente astuto como para desactivar JavaScript en su navegador.

Así que estoy buscando una forma agradable y limpia de integrar estas dos tecnologías.

Lo mejor que se me ocurre es tener todos los validadores ASP.NET configurados en enableclientscript = false y repetir las reglas de validación en el cliente en jQuery y en el servidor como validadores asp.net pero ya puedo ver algunos desafíos con este enfoque.

Al final encontré la manera de fricción más baja para lograr el resaltado con validadores asp.net y jquery no utilizó el complemento jQuery Validation sino que usó la línea simple de jquery que sigue (tenga en cuenta que la sintaxis exacta variará dependiendo de la forma en que el diseño de su forma):

<script type='text/javascript'> 


     $("input[@type=submit]").click(function() { 
     $('span.validationerror:hidden').parent().parent().find('input').removeClass('inputError'); 
     $('span.validationerror:visible').parent().parent().find('input').addClass('inputError');       

     }); 

</script> 

Respuesta

2

Si usted es serio acerca de la validación, me gustaría ver en algo así como validadores de Peter Blum (http://www.peterblum.com/Home.aspx), ya que debe ser capaz de hacer todo lo que quieras y más. No usan JQuery, pero recuerden que el objetivo de JQuery es ahorrar tiempo al desarrollador: el usuario final no sabe o no le importa si usa JQuery o no, si el efecto general es el mismo.

3

Puede utilizar asp.net jquery y validadores juntos sin ningún problema ... incluso en el mismo control ... sólo tiene que establecer CssClass para el control de modo que jQuery puede encontrarlo .. . y luego agrega OnClientClick="return $('#aspnetForm').valid();" a su submit button(s).

Asegúrese de incluir la librería jQuery habitual y jquery.validate.js y añadir una función de lista de documentos, por supuesto, etc.

Cuestiones relacionadas