• 0
Sign in to follow this  
crazySerk

Mascara de campos e validação

Question

Galera seguinte, peguei de um outro projeto meu aqui uma mascara de dados e validação em JS, porém estou criando outro formulario aqui no PHP mas não está fazendo as devidas verificações... não sei o que fiz de errado, fiz exatamente o que está no outro formulario mas o "mardito" não verifica... poderiam me ajudar??

Meu Formulario:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
#style1 {
    font-family: Tahoma;
    font-size: 11px;
}

body,td,th {
    font-family: Tahoma;
    font-size: 11px;
    font-weight: bold;
}
</style>
<script type="text/javascript" src="scripts/js/validar_dados.js"  charset="utf-8">
</script>
<script type="text/javascript" src="scripts/js/mascara_dados.js"  charset="utf-8">
</script>
</head>

<body>
<form id="novo_cliente" name="novo_cliente" method="post" action="checarCadastro.php" onsubmit="return validar_usuario(); return false;">
  <table width="515" border="0">
    <tr>
      <th width="99" scope="col"><div align="right"><span class="style4">Nome Completo:</span></div></th>
      <th width="149" ><label for="cliente_nome"></label>
        <div align="left">
          <input type="text" name="cliente_nome" id="cliente_nome" />
      </div></th>
      <th width="94" scope="col"><div align="right">Telefone</div></th>
      <th width="155" scope="col"><label for="cliente_telefone"></label>
        <div align="left">
          <input name="cliente_telefone" type="text" id="cliente_telefone" onKeyPress="mascara(this, mtel);" size="24" />
      </div></th>
    </tr>
    <tr>
      <th scope="row"> <div align="right">End.:</div></th>
      <td><label for="cliente_end"></label>
      <input type="text" name="cliente_end" id="cliente_end" /></td>
      <td><div align="right">Bairro:</div></td>
      <td><label>
        <input type="text" name="cliente_bairro" id="cliente_bairro" />
      </label></td>
    </tr>
    <tr>
      <th scope="row"><div align="right">email:</div></th>
      <td><label for="cliente_email"></label>
      <input type="text" name="cliente_email" id="cliente_email" /></td>
      <td><div align="right">repetir email:</div></td>
      <td><label>
        <input type="text" name="cliente_email2" id="cliente_email2" />
      </label></td>
    </tr>
    <tr>
      <th scope="row"><div align="right">senha:</div></th>
      <td><label for="senha1"></label>
      <input type="text" name="senha1" id="senha1" /></td>
      <td><div align="right">repetir senha:</div></td>
      <td><label>
        <input type="text" name="senha2" id="senha2" />
      </label></td>
    </tr>
    <tr>
      <th scope="row">&nbsp;</th>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <th colspan="4" scope="row"><label>
        <input type="submit" name="button" id="button" value="Cadastrar Meus Dados" />
      </label></th>
    </tr>
  </table>
</form>
</body>
</html>
Mascara de dados .js
/* Máscaras ER */
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}
function mcep(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2")         //Esse é tão fácil que não merece explicações
    return v
}
function mtel(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}
function mddd(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    return v
}
function mcnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}
function mcpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}
function mdata(v){
    v=v.replace(/\D/g,"");                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1/$2");       
    v=v.replace(/(\d{2})(\d)/,"$1/$2");       
                                             
    v=v.replace(/(\d{2})(\d{2})$/,"$1$2");
    return v;
}
function mtempo(v){
    v=v.replace(/\D/g,"");                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{1})(\d{2})(\d{2})/,"$1:$2.$3");    
    return v;
}
function mhora(v){
    v=v.replace(/\D/g,"");                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{2})(\d)/,"$1h$2");       
    return v;
}
function mrg(v){
    v=v.replace(/\D/g,"");                                      //Remove tudo o que não é dígito
        v=v.replace(/(\d)(\d{7})$/,"$1.$2");    //Coloca o . antes dos últimos 3 dígitos, e antes do verificador
        v=v.replace(/(\d)(\d{4})$/,"$1.$2");    //Coloca o . antes dos últimos 3 dígitos, e antes do verificador
        v=v.replace(/(\d)(\d)$/,"$1-$2");               //Coloca o - antes do último dígito
    return v;
}
function mnum(v){
    v=v.replace(/\D/g,"");                                      //Remove tudo o que não é dígito
    return v;
}
function mvalor(v){
    v=v.replace(/\D/g,"");//Remove tudo o que não é dígito
    v=v.replace(/(\d)(\d{8})$/,"$1.$2");//coloca o ponto dos milhões
    v=v.replace(/(\d)(\d{5})$/,"$1.$2");//coloca o ponto dos milhares
        
    v=v.replace(/(\d)(\d{2})$/,"$1,$2");//coloca a virgula antes dos 2 últimos dígitos
    return v;
}
E Validação .js
function validaCampo()
{
    if(document.lance_checar.lance.value=="")
    {
        alert("Necessario Preencher um valor");
        return false;
    } 
    
    else
        return true;
}

function validar_usuario()
{
    if(document.novo_cliente.senha1.value =="" || document.novo_cliente.senha2.value =="" || )
    {
        alert("Necessário digitar uma senha");
        return false;
    }
    
    else if(document.novo_cliente.senha1.value != "" && document.novo_cliente.senha2.value =="")
    {
        alert("É necessário repetir a senha");
        return false;
    }
    
    else if(document.novo_cliente.senha1.value != document.novo_cliente.senha2.value)
    {
        alert("As senhas precisam ser iguais");
        return false;
    }
    else if(document.novo_cliente.cliente_email.value =="" || document.novo_cliente.cliente_email2.value =="" || )
    {
        alert("Necessário digitar um email");
        return false;
    }
    
    else if(document.novo_cliente.cliente_email.value != "" && document.novo_cliente.cliente_email2.value =="")
    {
        alert("É necessário repetir o email");
        return false;
    }
    
    else if(document.novo_cliente.cliente_email.value != document.novo_cliente.cliente_email2.value)
    {
        alert("Os emails não são iguais");
        return false;
    }
    else
    return true;
}

Att.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Movendo PHP » JS.

Share this post


Link to post
Share on other sites
  • 0

Olá crazySerk.

Particularmente, quando se trata de validações de campos em formulários, aconselho a fazer diretamente pelo PHP, pois irá rodar no servidor, pois JavaScript é no lado do cliente e basta ele desabilitar o JavaScript que já era... a não se coloque <noscript> no topo de suas páginas ou evento onclick nos botões. No PHP ficaria algo assim:

$clienteNome = trim($_POST["cliente_nome"]);
$clienteTelefone = trim($_POST["cliente_telefone"]);

if(empty($clienteNome)){
  $erro[0] = "Favor colocar seu nome";
}elseif(strlen($clienteNome) < 5){
  $erro[0] = "Seu nome não pode ser inferior a 5 caracteres";
}elseif(empty($clienteTelefone)){
  $erro[1] = "Favor colocar seu telefone";
}elseif(strlen($clienteTelefone) < 10){
  $erro[1] = "Seu telefone não pode ser inferior a 10 caracteres";

......

}else{

....

}

Depois no formulário, bastaria colocar acima de cada campo seus referentes erros com o famoso <?php echo $erro[0]; ?> etc...

Abs

Share this post


Link to post
Share on other sites
  • 0

Muito obrigado Tavares não sabia disso do JavaScript, começarei a fazer tudo em php então para ter uma segurança maior...

Mas no caso porque a minha mascara_dados não esta funcionando?

---

Tavares já abusando de sua boa vontade, no caso quando der algum erro no meu site ( como é formulario) como que faço pra depois que aparece a msg, ele voltar para formulario porem preenchido com as info que a pessoa tinha digitado????

Edited by crazySerk

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this