Validação Ajax com bug...
Olá pessoal, primeiramente o meu caso é com Jquery, como não achei uma área do fórum especifica para postar o mesmo, então não vi outra alternativa para pedir ajuda... espero que não tenha problema...
É o seguinte tenho um formulário onde fiz do mesmo 4 etapas para cadastrar os dados dele no banco, e to fazendo isso sem da refresh na pagina usando Ajax e minha validação vem do plugin da jqueryvalidation.org aonde verifico se os campos estão preenchidos com o minimo de caracteres e tal e se o email já existe pelo metodo remote...
O problema eu acho que sei onde está, mas não consigo resolver, quando ta tudo preenchido mas com a validação errada (ex: senha não confere, email já existe, e o minimo de caracteres não foi atingido) ele manda o else do mesmo jeito sendo que não é pra mandar...
detalhe aparece as mensagens de erro tudo certo...
Não consigo achar o erro... o estranho é que tem hora que ele faz certo hora não...
$(document).ready(function(){
var Form = $("#cadastrar_banda");
$(Form).submit(function(){ return false; });
var v = $(Form).validate({
rules: {
email: { required: true, email: true,
remote: {
url: "system/system.php",
type: "post"
}
},
pass: { required: true, minlength: 4, maxlength: 16 },
confirmPass: { required: true, equalTo:"#pass" },
name: { required: true, minlength: 2 },
genre: { required: true, minlength: 2 },
uf: { required: true },
city: { required: true },
MethodPayment: { required: true }
},
messages: {
email: { required: "Digite um e-mail!", email: "Digite um email valido!", remote: "Este e-mail já existe!" },
pass: { required: "Digite uma senha!", minlength: "Digite no minimo 4 caracteres!", maxlength: "Digite no maximo 16 caracteres!" },
confirmPass: { required: "Repita sua senha", equalTo: "As senhas não conferem!"},
name: { required: "Digite o nome da banda!", minlength: "Digite no minimo 2 caracteres!" },
genre: { required: "Digite o genêro da banda!", minlength: "Digite no minimo 2 caracteres!" },
uf: { required: "Escolha um estado!" },
city: { required: "Escolha uma cidade!" },
MethodPayment: { required: "Escolha qual forma de pagamento!" }
},
submitHandler: function( form ){
var dados = $(Form).serialize();
var acao = "&acao=Sign_up";
var sender = dados + acao;
$.ajax({
data: sender,
url: "system/system.php",
dataType: "html",
global: false,
type: "POST",
success: function( data ){
alert("Cadastro realizado com sucesso!");
form.reset();
$("#Confirm").slideUp();
$("#User").slideDown();
$("Form input, Form select").removeAtrr("disabled");
}
});
return false;
}
});
//Começo da validação
$("#SubmitFirst").click(function(){
//Recuperando valores da 1º etapa
var values = [
$("Form #User input[name=email]").val(),
$("Form #User input[name=pass]").val(),
$("Form #User input[name=confirmPass]").val()
];
//Se os campos estão vazios e pego a validação retorna error e as mensagens.
if(values.indexOf("") !== -1 && v){
$("#FormBtn1").css({"background":"red"});
}else{//Validação passo passa para outra etapa
$("#User").slideUp();
$("#PersonalDate").slideDown();
$("#FormBtn1").removeAttr("disabled").css({"background":"green"});
$("#FormBtn2").removeAttr("disabled").css({"background":"blue"});
$("#User input").attr("disabled","disabled");
return false;
}
});
$("#SubmitSecond").click(function(){
if($("#PersonalDate input[type=text]").val()=="" && v){
$("#FormBtn2").css({"background":"red"});
}else{
$("#PersonalDate").slideUp();
$("#Payment").slideDown();
$("#FormBtn2").css({"background":"green"});
$("#FormBtn3").removeAttr("disabled").css({"background":"blue"});
$("#PersonalDate input").attr("disabled","disabled");
return false;
}
});
$("#SubmitTri").click(function(){
if($("#Payment input[type=text] select").val()=="" && v){
$("#FormBtn3").css({"background":"red"});
}else{
$("#Payment").slideUp();
$("#Confirm").slideDown();
$("#FormBtn3").css({"background":"green"});
$("#FormBtn4").removeAttr("disabled").css({"background":"blue"});
$("#Payment input").attr("disabled","disabled");
$('#Confirm input[name=name]').val($('Form input[name=name]').val());
$('#Confirm input[name=genre]').val($('Form input[name=genre]').val());
$('#Confirm input[name=email]').val($('Form input[name=email]').val());
$('#Confirm input[name=pass]').val($('Form input[name=pass]').val());
$('#Confirm input[name=pagamento]').val($('Form select[name=methodPayment]').val());
$('#Confirm select[name=uf]').html("<option>"+$('Form select[name=uf]').val()+"</option>");
$('#Confirm select[name=city]').html("<option>"+$('Form select[name=city]').val()+"</option>");
return false;
}
});
$("#SendForm").click(function(){
if(v == true){
return;
}
});
});Discussão (4)
Carregando comentários...