Ta precisando colocar umas mascaras em campos de formulario? Nao precisa ficar quebrando a cabeca com um monte de javascript. Existem muitos plugins prontos para jQuery e outras bibliotecas.O plugin meioMask (http://plugins.jquery.com/project/meioMask) e uma excelente iniciativa brazuca do pessoal do MeioCodigo.com. Esse plugin para jQuery e bem flexivel, veja como usa-lo em http://www.meiocodigo.com/projects/meiomask/.Bom, maos na massa!1) O primeiro passo e entrar no site do meiomask e baixar a utltima versao estavel do script e salva-lo em: app/webroot/js. No meu caso baixei a versao 1.1.3 (comprimida) e salvei com o nome "jquery.meio.mask.min.js";2) Peguei uma view qualquer (escolhi a app/views/users/add.ctp) previamente gerada pelo BAKE que possui um formulario com os seguintes campos: DtNasc, CPF e Hora (nao me pergunte pra que raio de cadastro e esse... coloquei so pra exemplificar os casos =]), vejam:<?php// ...app/views/users/add.ctp ......... echo $this->Form->input('dtnasc', array( 'label' => 'Data de Nascimento' ) ); echo $this->Form->input('cpf', array( 'label' => 'CPF' ) ); echo $this->Form->input('hora', array( 'label' => 'Hora' ) );.........?>3) Agora adiciono o jQuery e o script do plugin meiomask na view, vejam:<?php// ...app/views/users/add.ctp $javascript->link( array( 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js', 'jquery.meio.mask.min' ), false);.........?>4) Logo em seguida, adicionamos um "bloco de codigo" setando as mascaras para os campos do formulario usando o ID do campo para isso.OBS: O Form Helper do Cake sempre gera um ID para cada campo criado seguindo o padrao id="ModelCampo". No nosso caso o model e o User e temos os campos Dtnasc, Cpf e Hora, o que gera os ids: UsersDtnasc, UserCpf e UserHora. O jQuery usa o '#' para referenciar IDs no DOM.<?php// ...app/views/users/add.ctp......... $javascript->codeBlock(' jQuery(function($){ $("#UserDtnasc").setMask("39/19/2999"); $("#UserCpf").setMask("999.999.999-99"); $("#UserHora").setMask("29:59"); }); ', array('inline' => false));.........?>5) Feito isto e so acessar o .../users/add e verificar o resultado ao entrar com numeros nos campos. Veja que ele permite apenas a entrada de numeros e adiciona automaticamente os pontos, barras e etc, que foram setados no molde da mascara. O codigo final ficou assim:<?php// ...app/views/users/add.ctp $javascript->link( array( 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js', 'jquery.meio.mask.min' ), false);$javascript->codeBlock(' jQuery(function($){ $("#UserDtnasc").setMask("39/19/2999"); $("#UserCpf").setMask("999.999.999-99"); $("#UserHora").setMask("29:59"); }); ', array('inline' => false)); ?><div class="users form"><?php echo $this->Form->create('User');?> <fieldset> <legend><?php __('Add User'); ?></legend> <?php echo $this->Form->input('dtnasc', array( 'label' => 'Data de Nascimento' ) ); echo $this->Form->input('cpf', array( 'label' => 'CPF' ) ); echo $this->Form->input('hora', array( 'label' => 'Hora' ) ); ?> </fieldset><?php echo $this->Form->end(__('Submit', true));?></div>Eu particularmente uso outro plugin para mascaras (que mostrarei no proximo topico), mas o meioMask e uma excelente alternativa alem de ser brasileiro.Espero que seja util! Abracao! Bom, alguns dias sem postar nada e eu procurando algo interessante para compartilhar com voces. Vamos la entao...Estava quebrando a cabeca para implementar um Captcha (Isso mesmo! CAPTCHA, ou seja, aquelas letrinhas todas baguncadas que impedem que um "nao-humano" consiga submeter um formulario automaticamente... se bem que as vezes ate um humano nao consegue identificar as letras, mas vamos la).Baseado neste artigo que vi no Bakery vamos utilizar o PhpCaptcha como vendor. Segue os passos:1) Faca o download do PhpCaptcha atraves do link http://www.ejeliot.com/pages/2 e descompacte o arquivo em "app/vendors/phpcaptcha" (crie este diretorio caso nao exista).2) Faca o download dos arquivos de fontes Vera do GNOME atraves do link http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.zip e descompacte o arquivo em "app/vendors/phpcaptcha/fonts/".3)