menu
Fórum Adianti
menu Menu
Proposta de Solução para UpperCase, LowerCase Estou transformando um sistema Desktop em WEB, (área nova para mim), estou me deparando com muitas dificuldades. Estas dificuldades nos faz crescer e principalmente aprender, como diz o ditado "Quem tem fome, até mato se come". Desta vez me deparei, com o famoso UpperCase, sim isso mesmo ter que passar para maiúscula os dados digitados pelo usuário. Procurei no fórum e vi varias alter...
MC
Proposta de Solução para UpperCase, LowerCase  
Fechado
Estou transformando um sistema Desktop em WEB, (área nova para mim), estou me deparando com muitas dificuldades.
Estas dificuldades nos faz crescer e principalmente aprender, como diz o ditado "Quem tem fome, até mato se come".

Desta vez me deparei, com o famoso UpperCase, sim isso mesmo ter que passar para maiúscula os dados digitados pelo usuário.

Procurei no fórum e vi varias alternativas para contornar este problema, mas todos eles tive dificuldade em implementa-los ou
simplesmente não funcionam.

Uma das alternativas que estava usando, passava os dados para maiúsculo no entanto não gravava no banco.

  1. <?php> 
  2. $nome   = new TEntry('nome'); 
  3. $nome->style = 'text-transform: uppercase';
  4. ?>


Diante destes problema resolvi criar uma solução definitiva, partindo para o estudo de algumas classes do Framework Adianti,
chegando na classe TEntry.

Fiz então algumas alterações, simples porem eficazes que até agora me deram ótimos resultados. (Segue a versão atualizada zipada)


  1. <?php> 
  2. $nome   = new TEntry('nome'); 
  3. $nome->setUpperCase();
  4. $nome->setLowerCase();
  5. ?>



Não sei ao certo se fiz o correto ou não, por isso favor postarem suas criticas ou sugestões.


Abraços a todos
MarcoARCampos






Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (7)


RR

Boa tarde Marco,

Eu particularmente gosto muito de usar máscaras de UPPERcase nos campos dos meus formulários, acho visualmente mais agradável além de padronizar a forma como se grava os dados no banco.

Uso um script através do componente "TElement" que funciona pra mim tanto na versão 2.0 e 3.0 do framework.

Lembrando que nesse código organizo os elementos usando "TTable":

  1. <?php
  2.         // adiciona jQuery para máscara e focus
  3.         $nome->id 'nome';
  4.         $rg->id 'rg';
  5.         $endereco->id 'endereco';
  6.         $bairro->id 'bairro';
  7.         $cidade->id 'cidade';
  8.         $profissao->id 'profissao';
  9.         $script = new TElement('script');
  10.         $script->type 'text/javascript';
  11.         $script->add('
  12.         $("#nome").focus();
  13.         $("#nome").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  14.         $("#rg").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  15.         $("#endereco").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  16.         $("#bairro").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  17.         $("#cidade").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  18.         $("#profissao").on("input", function(evt) { $(this).val(function (_, val) { return val.toUpperCase(); }); });
  19.         ');
  20.         $table->addRow()->addCell($script);
  21. ?>
RR

Vou baixar e testar a sua solução, parece bem prática!

Depois dou um feedbak aqui.

Abraço,

Rafael
RR

*feedback
JM

Insto deveria ser adicionado no framework. Eu também uso muito uppercase no TEntry e tem vezes que o javascript simplesmente não funciona en certas versões dos navegadores. Tem que mexer no php e no js pra funcionar.
ES

Gostei muito dessa implementação! Estou testando.

Sugiro que dê um outro nome à sua classe e seja colocada na pasta app/lib/include ou widget ou util e não alterar as classes nativas.

Caso o Pablo queira incorporar virá na próxima versão.
MC

Concordo com vocês, mas isso era apenas um teste, acreditem.... Estou aprendendo agora PHP, estas alterações foram apenas pura bagagem.... :))

Espero conforme meus conhecimentos forem crescendo, eu consiga contribuir ainda mais pela evolução da ferramenta.
MC

Eliezer, fiz uma atualização desta alteração, veja o link abaixo

www.adianti.com.br/forum/pt/view_2071