Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal!
To com esse script aqui do Validator, para validar alguns campos de um formulario, mais uma função de validar CPF.
Como o campo CPF tem várias restrições para validação, fez-se necessário usar o addMethod do Validator.
Só que nao to conseguindo fazer com que as mensagens apareçam na hora da validação.
Eu to achando que eu nao "linkei" corretamente o a função ao campo.
O código é esse:
<script language="JavaScript" type="text/javascript">
//SOMENTE PARA CPF
function isCpf(cpf){
exp = /\.|-/g;
cpf = cpf.toString().replace(exp, "");
var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
var soma1=0, soma2=0;
var vlr =11;
for(i=0;i<9;i++){
soma1+=eval(cpf.charAt(i)*(vlr-1));
soma2+=eval(cpf.charAt(i)*vlr);
vlr--;
}
soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
soma2 = (((soma2+(2*soma1))*10)%11);
if(cpf == "11111111111" || cpf == "22222222222" || cpf ==
"33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf ==
"66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf ==
"99999999999" || cpf == "00000000000" ){
var digitoGerado = null;
}else{
var digitoGerado = (soma1*10) + soma2;
}
if(digitoGerado != digitoDigitado){
return false;
}
return true;
}
function isCpfFormatted(cpf) {
var validCPF = /^\d{3}\.\d{3}\.\d{3}\-\d{2}$/;
return cpf.match(validCPF);
}
(function($) {
$.validator.addMethod("cpf", function(value, element, type) {
if (value == "")
return true;
if ((type == 'format' || type == 'both') && !isCpfFormatted(value))
return false;
else
return ((type == 'valid' || type == 'both')) ? isCpf(value) : true;
}, function(type,element) {
return (type == 'format' || (type == 'both' && !isCpfFormatted($(element).val()))) ?
'Formato do CPF não é válido' : 'Por favor digite um CPF válido';
});
})(jQuery);
//VALIDA TODOS OS CAMPOS DO FORMULARIO
$(document).ready( function() {
$("#formCadastro").validate({
// Define as regras
rules:{
nomeCadastro:{ required: true, minlength: 3},
emailCadastro:{
// campoEmail será obrigatório (required) e precisará ser um e-mail válido (email)
required: true, email: true
},
instituicaoCadastro:{
// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
required: true
},
cursoCadastro:{
// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
required: true
},
periodoCadastro:{
// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
required: true
},
empresaCadastro:{
// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
required: true
},
cargoCadastro:{
// campoMensagem será obrigatório (required) e terá tamanho mínimo (minLength)
required: true
}
},
// Define as mensagens de erro para cada regra
messages:{
nomeCadastro:{
required: "Digite o seu nome!",
minlength: "O seu nome deve conter, no mínimo, 3 caracteres"
},
emailCadastro:{
required: "Digite o seu e-mail para contato!",
email: "Digite um e-mail válido!"
},
instituicaoCadastro:{
required: "Digite a instituição onde você estuda/leciona!"
},
cursoCadastro:{
required: "Digite o curso que voce está matriculado/lecionando!"
},
empresaCadastro:{
required: "Digite a empresa onde você trabalha!"
},
cargoCadastro:{
required: "Digite o seu cargo na empresa!"
},
}
});
});
</script>
O HTML é esse:
<form action="" method="post" enctype="multipart/form-data" id="formCadastro" name="formCadastro">
Nome: <input onkeydown="mascara(this,soLetras);" value="" name="nomeCadastro" type="text" /><br>
Email: <input onkeydown="mascara(this,e_mail);" name="emailCadastro" type="text" /><br>
CPF: <input onkeydown="mascara(this,cpf);" maxlength="14" name="CPFCadastro" type="text" /><br>
Data de Nascimento: <input onkeydown="mascara(this,data);" maxlength="10" name="dataNascCadastro" type="text" /><br>
<br>
<input type="radio" name="opcao" value="estudante" onclick="mudaparticipante(this.value)" checked="checked" id="tipoparticipante_0" />
<label>Estudante</label>
| <input type="radio" name="opcao" value="profissional" onclick="mudaparticipante(this.value)" id="tipoparticipante_1" />
<label>Profissional</label>
<br>
<label id="labelInstEmpresa">Instituição de Ensino: </label><label id="fieldInstEmpresa"><input onkeydown="mascara(this,geral);" name="instituicaoCadastro" type="text" /></label><br>
<label id="labelCursoCargo"> Curso: </label><label id="fieldCursoCargo"><input onkeydown="mascara(this,geral);" name="cursoCadastro" type="text" /></label><br>
<label id="labelPeriodoVazio"> Período: </label><label id="fieldPeriodoVazio"><input onkeydown="mascara(this,geral);" name="periodoCadastro" type="text" /></label><br>
<br>
<input name="cadastrar" type="submit" value="cadastrar" />
</form>
As demais máscaras já estão funcioando. Falta apenas a do CPF.
Até mais.
Carregando comentários...