Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

Validação formdn telefones 9 dígito

29 de Julho de 2013, 17:26 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 75 vezes
Eugenio, tem previsão para disponibilização de alguma versão do formdin com validação do campo telefone com 9 digitos (SP) ?

Autor: miguel Patrocinio


1111 comentários

  • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
    30 de Julho de 2013, 0:18

     

    Miguel, 

    na verdade ninguém havia tocado neste assunto, vou ver se consigo mexer nisso antes do dia 25/08/2013, quando entrará em vigor.

    Abraço.

    • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
      1 de Agosto de 2013, 9:34

       

      Ok, Eugênio, obrigado pelo retorno. Como trabalho numa empresa de TI que presta suporte as operação da Contax (Contact center) vou tentar levantar as regras da Anatel e te passo, acho que facilita.

      Lembrando que para os telefones celulares de SP já está em vigor o nono dígito e para os demais estão entrando aos poucos, desta forma seria legal bolar algo dinâmico em que se pudesse ter uma lista de dds que aceitem 9 dígitos.

      • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
        1 de Agosto de 2013, 10:13

         

        Eugenio, anexei neste post o documento com regras de validação do nono dígito (não é as regras da anatel, já é uma especificação para implementação). Não é uma regra muito simples de se implementar, porque além de controlar o ddd que é obrigatório o nono dígito, há necessidade de se controlar faixas de telefones. Por exmplo, para o ddd 11 (SP) os telefones fixos e telefones da nextel continuam com 8 dígitos, apenas celulares possuem o nono dígito, desta forma além do ddd há necessidade controlar faixas de telefones por ddd.

        Devido a esta complexidade sugiro aplicar as validações normais e, para facilitar, apenas liberar o nono digito (9), ficando a responsabilidade pelo cadastramento a cargo de quem digita. Por exmplo, se alguém cadastrar 9 dígito para ddd 21 o sistema aceitaria. Esta ergra básica já me atenderia, não sei se atenderia ao projeto e outros usuários, mas liberando a digitação do nono dígito já "destravaria" o projeto e seria um grande avanço.

        Caso queira pode se comunicar através do gmail (gtalk) mapatrocinio@gmail.com 

  • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
    11 de Agosto de 2013, 11:05

     

    Eugenio, validei o telefone não está funcionando, na verdade quando entra na tela apresenta um erro de javascript e após isso não valida mais nada.

    Abç 

    • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
      11 de Agosto de 2013, 17:26

       

      Miguel,

      você poderia me enviar a imagem da tela com erro (luis.barbosa@ibama.gov.br), nos testes que fiz está funcionando sem erros. Você limpou o cache do seu browser ? Pode ser isso, porque tive que alterar o arquivo FormDin4.js.

      Abraço.

      • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
        13 de Agosto de 2013, 14:07

         

        Enviado imagem por e-mail conforme solicitado.

        Abç

      • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
        16 de Agosto de 2013, 14:47

         

        Eugenio,

        Efetuei os testes só funciona se vc digitar o telefone completo com DDD (21 98888-7777) mas se digitar apenas 98888-7777 não funciona, parte do número vira ddd. Poderia verificar?

        Obrigado!

        • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
          16 de Agosto de 2013, 20:31

           

          Miguel,

          atualizei o arquivo base/js/formDin4.js, baixe via svn a atualização ou caso você não esteja utilizando o svn, segue abaixo a função de formatação para ser atualizada no arquivo formDin4.js. Se tiver ok me avise.

          Abraço.

          function fwFormatarTelefone(e) {
              var s = "";
              var res = "";
              if (e.value.length == 19)
              {
                  e.value = e.value.substring(0,18);
              }
              s = fwFiltraCampo(e.value);
              /*while ( s.substring(0,1) == "0" )
              {
                  s1 = s.substring(1,s.length);
                  s = s1;
              }
              */
              if ( s.length > 4 && s.substring(0,1) =='0' && s.substring(0,4) !='0800')
              {
                  while ( s.substring(0,1) == "0" )
                  {
                      s1 = s.substring(1,s.length);
                      s = s1;
                  }
              }
              if ( s.substring(0,4) == '0800' )
              {
                  res = s.substring(0,4) + " " + s.substring(4,7) + " " +s.substring(7);
              }
              else
              {
                  if ( s.length == 14 || s.length == 12 )
                      s = s.substring(s.length-10,s.length);
                  if ( s.length == 13 )
                      s = s.substring(s.length-9,s.length);

                  res = s.substring(s.length-4,s.length);
                  if ( s.length > 4  && s.length < 9 )
                      res = s.substring(0,s.length-4)+"-"+res;

                  if ( s.length > 8  )
                  {
                      if(s.length == 11 )
                      {
                           res = "(0xx" + s.substring(0,2) + ") " + s.substring(2,s.length-4) + "-" + res;
                      }
                      else if(s.length == 9 )
                      {
                          res = s.substring(0,5)+'-'+res;
                      }
                      else
                       res = "(0xx" + s.substring(0,2) + ") " + s.substring(2,s.length-4) + "-" + res;
                  }

              }
              e.value = res;
              return res;
          }

          • 627deb302718fab26e0859ab3843cb50?only path=false&size=50&d=404miguel Patrocinio(usuário não autenticado)
            26 de Agosto de 2013, 10:08

             

            Eugenio, 9 dígito funcionando perfeitamente. Se possível só me posiciona depois quando subir uma versão fechada da frame com essas alterações.

            Mais uma vez obrigado pela parceria.

Essa comunidade não possui posts nesse blog