Boa tarde prezados!
Vejo que é uma dúvida comum, já olhei vários tópicos sobre esse assunto, porém, infelizmente, nenhum me ajudou.
Tenho uma função javascript para validar campos de um formulário antes de gravar no banco de dados, contudo, aparentemente, a função não é chamada, pois os campos são gravados no banco, sem as devidas validações.
Código html:
<article class="modal-content cadastro">
<div id="cadastro" class="modal-body">
<h1 class="titulos">CADASTRO</h1>
<form action="php_login.php" method="POST" name="FormCadastroUser" onsubmit="return validacao()">
<label class="rodapeForm">Campos marcado com * são de preenchimento obrigatório</label>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Nome<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="nome" type="text" class="form-control" id="nome" placeholder="Nome completo">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Data de nascimento</label>
<div class="col-sm-10">
<input name="dataNascimento" type="date" class="form-control" id="dataNascimento">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Endereço</label>
<div class="col-sm-10">
<input name="endereco" type="text" class="form-control" id="endereco" placeholder="Informe seu endereço completo">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Celular<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="contact" type="tel" class="form-control" id="contact" onkeypress="$(this).mask('(00) 00000-0000')" placeholder="(00) 00000-0000">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">E-mail<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="email" type="email" class="form-control" id="email" placeholder="Informe seu e-mail">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">CPF<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="cpf" type="text" class="form-control" id="cpf" onkeypress="$(this).mask('000.000.000-00')" placeholder="000.000.000-00">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Senha<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="senha1" type="password" class="form-control" id="senha1" placeholder="Senha com no mínimo 6 dígitos">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Repetir senha<span class="corVermelha">*</span></label>
<div class="col-sm-10">
<input name="senha2" type="password" class="form-control" id="senha2" placeholder="Confirme sua senha">
</div>
</div>
<div class="modal-footer">
<input type="submit" name="cadastrar" id="cadastrar" value="Cadastrar" class="btn btn-primary">
</div>
</form>
</div>
</article>
<script src="Scripts.js"></script>
</body>
JavaScript:
function validacao(){
var nome = document.FormCadastroUser.nome.value;
var contato = document.FormCadastroUser.contact.value;
var email = document.FormCadastroUser.email.value;
var cpf = document.FormCadastroUser.cpf.value;
var senha1 = document.FormCadastroUser.senha1.value;
var senha2 = document.FormCadastroUser.senha2.value;
//===============Validacao CPF========================
cpf = cpf.replace(/\./g, '');
cpf = cpf.replace('-', '');
cpf = cpf.split('');
var v1 = 0;
var v2 = 0;
var aux = false;
for (var i = 1; cpf.length > i; i++) {
if (cpf[i - 1] != cpf[i]) {
aux = true;
}
}
if (aux == false) {
alert('CPF inválido');
return false;
}
for (var a = 0, p = 10; (cpf.length - 2) > a; a++, p--) {
v1 += cpf[a] * p;
}
v1 = ((v1 * 10) % 11);
if (v1 == 10) {
v1 = 0;
}
if (v1 != cpf[9]) {
alert('CPF inválido');
return false;
}
for (var b = 0, d = 11; (cpf.length - 1) > b; b++, d--) {
v2 += cpf[b] * d;
}
v2 = ((v2 * 10) % 11);
if (v2 == 10) {
v2 = 0;
}
if (v2 != cpf[10]) {
alert('CPF inválido');
return false;
}
//==============Validação demais campos===============
var erro = false; //Não tem erro
if(nome == "") {
alert('O campo Nome é de preenchimento obrigatório');
FormCadastroUser.nome.focus();
erro = true;
}else if(nome.indexOf(" ") == -1) {
alert('Informe seu nome completo');
FormCadastroUser.nome.focus();
erro = true;
}else if(contato == ""){
alert('O campo Celular é de preenchimento obrigatório');
FormCadastroUser.contact.focus();
erro = true;
}else if(contato.length <= 14){
alert('Celular inválido');
FormCadastroUser.contact.focus();
erro = true;
}else if(email == ""){
alert('O Campo E-mail é de preenchimento obrigatório');
FormCadastroUser.email.focus();
erro = true;
}else if(email.indexOf(".") == -1){
alert('E-mail inválido');
FormCadastroUser.email.focus();
erro = true;
}else if(senha1 == "" || senha1.length <= 5) {
alert('O campo senha deve conter no mínimo 6 caracteres');
FormCadastroUser.senha1.focus();
erro = true;
}else if(senha1 != senha2){
alert('As senhas não conferem, verifique ');
FormCadastroUser.senha2.focus();
erro = true;
}
if(erro){
return false;
}else{
return true;
}
}