Ir para conteúdo
Fórum Script Brasil
  • 0

Mascara de campos e validação


crazySerk

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 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

Link para o comentário
Compartilhar em outros 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????

Editado por crazySerk
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...