y con ajax, por eso puse "simulo una petición", la respuesta tiene que devolver true o false o lo que quieras para decirle al plugin que mostrar
Código HTML:
Ver original <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script> <script type="text/javascript"> $(document).ready(function(){
var usuarioValido;
$.validator.addMethod("regex",function(value,element,regexp){
var re= new RegExp(regexp);
return this.optional(element) || re.test(value);
},"Solo caracteres alfanumericos");
$.validator.addMethod("comprobarUsuario",function(value,element, url){
$.ajax({
type: "GET",
url: url,
data: "usuario="+value,
success: function(disponible){
usuarioValido = (disponible == 'true')?true:false;
}
});
return usuarioValido;
},"Usuario ocupado");
$("#registro").validate({
rules:{
usuario:{
required:true,
regex:"^[a-zA-Z0-9_]+$",
comprobarUsuario:"comprobar.php"
},
pass:{
required:true
},
pass2:{
equalTo:"#pass"
},
email:{
email:true,
required:true
},
sitioweb:{
url:true
},
lenguaje:{
required:true
}
},
messages:{
usuario:{
required:"Campo obligatorio"
},
pass:{
required:"Campo obligatorio"
},
pass2:{
equalTo:"La contraseña no es igual"
},
email:{
email:"El email no es valido",
required:"Campo es obligatorio"
},
sitioweb:{
url:"La url no es valida"
},
lenguaje:{
required:"Campo obligatorio"
}
},
submitHandler:function(){
alert("Los datos han sido enviados");
}, success: function(label) {
if (usuarioValido){
label.addClass('valid').text("Usuario disponible");
}
}
})
})
<form id="registro" name="registro" action=""> <input type="text" id="usuario" name="usuario" /> <input type="text" id="pass" name="pass" /> <input type="text" id="pass2" name="pass2" /> <input type="text" id="email" name="email" /> <input type="text" id="sitioweb" name="sitioweb" /> <select id="lenguaje" name="lenguaje"> <option selected="selected" value="">Selecione un lenguaje
</option> <input type="submit" value="Registrar" />
estudiate esto
http://api.jquery.com/jQuery.ajax/