Tengo un login en el que realizo la encriptación de la contraseña. En el servidor, php detecta si viene encriptada o no y opera en concordancia. En el cliente, lo hago con js usando el md5.js de pajhome.org.uk, versión 2.1 (que a todo esto hay como 3 versiones distintas, al menos yo encontré "jquery.crypt.js", "jquery.md5.js" y "md5.js", todas basadas en el mismo archivo según los comentarios en los mismos. Yo estoy usando el último):
Código HTML :
function MD5(){ var clave=document.forms["login"].elements["password"].value; var encriptada = hex_md5(clave); document.forms["login"].elements["password"].value = encriptada; document.forms["login"].submit(); }La función la llamo con el evento " onsubmit="javascript:MD5() ".
El problema surgió cuando quise implementar lo anterior en la página de verdad en la que valido los campos con jquery.validate. ¿El resultado? Pues que la encriptación funciona pero la validación no. La validación es como sigue:
Código HTML :
$(document).ready(function(){ $("#login").validate({ rules: { password: { required: true, minlength: 6, maxlength: 20 }, }, }); });El fenómeno exacto es el siguiente: Cuando pulso el botón "enviar" veo como los input cambian de color (lo tengo hecho para que el borde y el fondo cambien de color en caso de error) pero a pesar de "detectar que hay error" el formulario se envía igual. También al tiempo que cambia de color, el input de contraseña se "llena aún cuando no haya escrito nada en él".
Bueno, esa es la situación. Por hoy ya lo dejaré porque el dolor de cráneo no lo soporto. De antemano se agradecen los comentarios y la buena voluntad.
Buena Caza y Largas Lunas.