Bueno gente les comento que yo mismo resolvi la duda: después de pelear durante horas encontré la siguiente solucion:
Uso el mismo ajax que puse al principio del post y finalmente en el validate hago una pequeña modificación (que me tomó horas descubrir):
Código:
$("#form").validate({
event: "blur",
rules: {'ci': "required",
'nombre': "required",
'login': {required: true,
},
'password': "required",
'password2': {equalTo: "#password"},
'email': "required email",
},
messages: {
},
debug: true,errorElement: "label",
submitHandler: function(form){
if ($("#existe").css("display")=='none'&&$("#existe2").css("display")=='none'&&$("#existe3").css("display")=='none'){
enviardatos();
}
else {$("#revisar").show();}
}
});
el if lo que hace es validar si un div con un id="existe" está oculto o no, ¿por qué? ya que en el $ ajax podrán fijarse que si el login ya existe muestra dicha capa, si el usuario no existe la esconde entonces por medio de ese if compruebo que las capas que dan mensaje de error estran activas o no si estan activas es pq el error existe y no deja mandar
si alguien conoce algo mas optima no duden en comentar