Archive for the 'Linguagem' Category

Mês por extenso no PHP

Uma função que utilizo em PHP e que algumas pessoas me perguntaram esses dias é de como escrever o mês por extenso, mas o detalhe é que deve ser em português.

A função seguinte é muito simples, pego o número do mês e retorno o mês escrito, veja abaixo:

function mes_extenso($referencia = NULL){
switch ($referencia){
case 1: $mes = " de Janeiro de "; break;
case 2: $mes = " de Fevereiro de "; break;
case 3: $mes = " de Março de "; break;
case 4: $mes = " de Abril de "; break;
case 5: $mes = " de Maio de "; break;
case 6: $mes = " de Junho de "; break;
case 7: $mes = " de Julho de "; break;
case 8: $mes = " de Agosto de "; break;
case 9: $mes = " de Setembro de "; break;
case 10: $mes = " de Outubro de "; break;
case 11: $mes = " de Novembro de "; break;
case 12: $mes = " de Dezembro de "; break;
default: $mes = " de _______________ de ";
}
return $mes;
}

A utilização desse código é muito simples:

Quando você tem uma data no banco de dados no padrão americano, pode usar da seguinte forma:
$data1 = "2010-06-23";
$data1 = explode("-", $data1);
echo $data1[2].mes_extenso($data1[1]).$data1[0]."<br>";

Quando for um mês inexistente ele vai mostrar um espaço para preenchimento:
$data2 = "2010-xx-01";
$data2 = explode("-", $data2);
echo $data2[2].mes_extenso($data2[1]).$data2[0]."<br>";

Quando for uma data já com padrão brasileiro:
$data3 = "05/05/2010";
$data3 = explode("/", $data3);
echo $data3[0].mes_extenso($data3[1]).$data3[2]."<br>";

O código fonte está aqui.

É claro que você pode modificar o código para o uso específico que vai fazer em seu projeto.

Veja aqui um exemplo do funcionamento.

Um abraço,
Marcio Nakano

Validação de formulários com Spry

Gosto muito da facilidade de aplicação e da economia de tempo que o Spry proporciona na validação de formulários.

O interessante é que esta validação é feita do lado cliente, ou seja é utilizado o processamento da máquina de quem está no formulário. É importante dizer que as principais validações devem ser feitas também no lado servidor, para garantir que os dados são realmente o que você precisa. A validação no lado servidor pode ser feita em PHP, ColdFusion, ASP ou qualquer outra linguagem que não interfere na validação inicial do formulário em Spry.

Vou mostrar agora, alguns exemplos básicos e até algumas personalizações que você pode fazer.

Neste exemplo vamos abordar:

  • Textos obrigatórios: inputs com preenchimento obrigatório;
  • Campos de datas e horas: com escolha do formato e validação no preenchimento, forçando o usuário a preencher somente com números;
  • Selects;
  • Texto com preenchimento mínimo: mais usados em senhas;
  • Textarea com preenchimento mínimo;
  • Checkbox: para aqueles formulários que é necessário marcar que leu alguma coisa pra prosseguir.

Veja a baixo como é o painel de configuração do Spry para input do tipo text.

Painel de configuração do Spry para input do tipo text

Painel de configuração do Spry para input do tipo text

 O código na página fica bem enxuto:

<script type=”text/javascript”>
<!–
var sprytextfield1 = new Spry.Widget.ValidationTextField(”sprytextfield1″);
var sprytextfield2 = new Spry.Widget.ValidationTextField(”sprytextfield2″, “date”, {format:”dd/mm/yyyy”, useCharacterMasking:true});
var sprytextfield3 = new Spry.Widget.ValidationTextField(”sprytextfield3″, “time”, {useCharacterMasking:true});
var spryselect1 = new Spry.Widget.ValidationSelect(”spryselect1″);
var sprytextfield4 = new Spry.Widget.ValidationTextField(”sprytextfield4″, “none”, {minChars:10});
var sprytextarea1 = new Spry.Widget.ValidationTextarea(”sprytextarea1″, {minChars:50, counterType:”chars_count”, counterId:”countsprytextarea1″, validateOn:["change"], maxChars:500});
var sprycheckbox1 = new Spry.Widget.ValidationCheckbox(”sprycheckbox1″);
//–>
</script>

Agora como seu formulário fica se tentar enviar o formulário, sem que as condições que você configurou, fica para o usuário.

 

Como seu formulário fica se tentar enviar o formulário, sem que as condições que você configurou, fica para o usuário.

Como seu formulário fica se tentar enviar o formulário, sem que as condições que você configurou, fica para o usuário.

Você pode conferir um exemplo aqui.

Mas existem algumas condições em que necessitamos validar o formulário que não estão definidas na biblioteca do Spry.

Vou mostrar outra forma onde você pode mesclar a validação do Spry com validações personalizadas via javascript, isso é possível se utilizarmos o método validate() do Spry.

Neste exemplo, vou fazer a confirmação de texto, muito usada na confirmação da senha digitada. Simplesmente vou verificar se o conteúdo de um input é igual ao outro.

Você pode conferir um exemplo aqui.

Agora, o conteúdo do código fica mais extenso, pois a validação é feita de forma manual e incrementando as funções que desenvolvemos.

<script type=”text/javascript”>
function validar(){
 //Travando o botão pra evitar vários cliques
 document.getElementById(”button”).disabled = true;
 var vali1 = sprytextfield1.validate();
 var vali2 = sprytextfield2.validate();
 var vali3 = sprytextfield3.validate();
 var vali4 = sprytextfield4.validate();
 var vali5 = spryselect1.validate();
 var vali6 = sprytextarea1.validate();
 var vali7 = sprycheckbox1.validate();
 if(vali1 && vali2 && vali3 && vali4 && vali5 && vali6 && vali7 && conteudoIgual()){
  document.getElementById(”form1″).submit();
 } else {
  alert(”Favor preencher corretamente todos os campos obrigatórios!”);
  document.getElementById(”button”).disabled = false;
 }
}
function conteudoIgual(){
 if(document.getElementById(’text1′).value == document.getElementById(’text1_c’).value)
  return true;
 else
  return false;
}
<!–
var sprytextfield1 = new Spry.Widget.ValidationTextField(”sprytextfield1″);
var sprytextfield2 = new Spry.Widget.ValidationTextField(”sprytextfield2″, “date”, {format:”dd/mm/yyyy”, useCharacterMasking:true});
var sprytextfield3 = new Spry.Widget.ValidationTextField(”sprytextfield3″, “time”, {useCharacterMasking:true});
var sprytextfield4 = new Spry.Widget.ValidationTextField(”sprytextfield4″, “none”, {minChars:10});
var spryselect1 = new Spry.Widget.ValidationSelect(”spryselect1″);
var sprytextarea1 = new Spry.Widget.ValidationTextarea(”sprytextarea1″, {minChars:50, counterType:”chars_count”, counterId:”countsprytextarea1″, validateOn:["change"], maxChars:500});
var sprycheckbox1 = new Spry.Widget.ValidationCheckbox(”sprycheckbox1″);
//–>
</script>

É claro que este exemplo é muito simples, mas muitos formulários possuem entrada de validação de CPF, CNPJ, data de nascimento, até mesmo integrações com funções AJAX. Para essas verificações já existem bastantes funções prontas na Web é só você pesquisar e implementar junto ao Spry.

Segue os fontes, onde vocês verão como foi feito os códigos de validação das duas formas.

Arrumando código JavaScript

Este post é pra quem precisa de um “embelezador de código”.

Quando você pegar algum script para dar manutenção e simplesmente ele estiver ilegível, use essa dica!

Algumas APIs utilizam .js compactado, quando quer verificar como eles fizeram tal programação e você abre o .js ele está todo em uma linha, use essa dica!

No site JavaScript Beautifier você coloca o script bagunçado e ele faz toda identação e organização, deixando o código em um formato bem mais fácil de “ler”.

Procurei nos buscadores por “javascript auto formatação” ou “javascript formatar código” e não achei nada parecido!

Agora se você precisa de um compactador de código, use YUI. Nesse site é possível compactar códigos JavaScript e CSS.

Censo Nacional sobre ColdFusion


4º Censo Nacional sobre ColdFusion 2009 - PARTICIPE!

Customizando o background-color do Flex no preloader

Pesquisei muito até achar uma solução para poder alterar a cor do backGround quando o Flex faz o preloader.

Tentei modificar o preloader com algumas classe, mas todas só caracterizavam o loading depois delas estarem carregadas. Trocar textos, cores e até mesmo colocar uma imagem para aparecer no loading, tudo isso foi possivel, mas a cor de fundo do loading não conseguia modificar.

Até que achei a solução. Você deve indicar para o compilador do Flex qual a cor que você deseja que seja padrão no carregamento.

Siga os seguintes passos:
- Clique com o botão direito em cima do projeto;
- Escolha “Properties”;
- Vá até a opção “Flex compiler”;
- Adicione o argumento “-default-background-color #FFFFFF”, sem as aspas;

Pronto, seu SWF vai carregar com a cor que você indicou ao compilador do Flex. No exemplo acima a cor branca.

Next Page »