freeDOM e o método replaceChild

O método replaceChild tem a função de substituir um elemento por outro. Ou seja, você irá remover um elemento da página e esse elemento dará lugar a um outro.

A função da freeDOM referente a esse método é a $replace. Observe como seria o processo de remover um elemento e ao mesmo tempo criar um outro elemento a fim de dispor o lugar do elemento removido.

$replace($new('h1','que legal isto'),$('titulo_velho'));

No exemplo acima, estamos criando uma tag h1 que terá em seu conteúdo a frase: “que legal isto”. E essa tag h1 será inserida no lugar de um elemento cujo ID é igual a titulo_velho.

Gostou? Eu também :)

Mais sobre o método replaceChild no Mozilla Developer Center.

freeDOM e o método insertAfter

O título mais correto para este post, seria: freeDOM e o “método” insertAfter. Uma vez que o insertAfter não é um método do DOM, ele na realidade nem existe.

Mas, o DOM possui um recurso chamado nextSibling ou “próximo irmão” que nos permite simular tal método.

Enquanto o método insertBefore é utilizado para inserir um elemento anteriormente a um outro elemento. O “método” insertAfter é utilizado para inserirmos posteriormente.

A função da freeDOM referente ao insertAfter é a $after. E você a utiliza da seguinte maneira:

$after($new('div','conteúdo da tag div'),$('topo'));

Isto é, inserimos uma div depois do elemento cujo ID é igual a topo. Somente.

w3AlertBox – Solução para customizar o Alert Box do JavaScript

Acredito que você sempre sentiu a necessidade de customizar o Alert Box do Javscript. E sentiu-se frustrado por não ser possível e ter percebido que aquela janelinha não poderia se enquadrar à identidade visual do seu site.

Mas agora seus problemas acabaram (meio tabajara essa frase né, rs…), criei o w3AlertBox que é uma solução para customizar o Alert Box do JavaScript, deixando-o como você julgar necessário :)

Você poderá alterar o título da janela do Alert Box, inserir códigos HTML na mensagem, tudo de forma muito simples e prática. E o melhor de tudo que você gastará apenas 1 (eu disse uma) linha de código para isso.

Um exemplo:

w3AlertBox.show('mensagem aqui','título aqui');

Para usar códigos HTML, faça o seguinte:

w3AlertBox.show(varQueContemOsCodigos,'título aqui',true);

Informando o terceiro parâmetro como true, você indica que usará códigos HTML.

Para baixar o w3AlertBox e saber mais detalhes a respeito, acesse: w3AlertBox – Solução para customizar o Alert Box do JavaScript.

Disponível o w3FormValidation 2.2

o w3FormValidation 2.2 está recheado de novidades e irei contar todas elas para você :)

Disponibilizei o changeLog do w3FormValidation via RSS para lhe ajudar estar sempre antenado com os novos “releases”.

Nesta versão 2.2 houve uma padronização nos nomes dos tipos de validação; agora todos eles estarão em inglês.

Foi corrigido o bug no tipo de validação: url. O qual considerava uma estrutura de subdomínio inválida.

Agora o w3FormValidation oferece suporte a validação de radio buttons de forma simples e fácil, como deve ser.

Novos tipos de validação foram acrescentados e irei abordar um por um aqui no blog, aguarde. Enquanto isto, lhe informo quais foram os novos tipos de validação:

  • digits
  • length
  • range
  • if (condicional)

Consulte os tipos de validação do w3FormValidation.

Plugin Rec6 número de votos para o WordPress

Estava indo dormir quando me deparei com o post Plugin Adicionar ao Rec6 para o WordPress e logo me veio a idéia, opa, vou criar um também para o número de votos. E fiz.

Apresento-lhes o plugin Rec6 número de votos. E o que esse plugin faz? Ele exibirá a quantidade de pontos do seu post junto ao Rec6 – o post precisa estar é cadastrado no Rec6, é claro.

Instruções para instalar o Rec6 número de votos para o WordPress

  1. Baixe o Rec6 número de votos para o WordPress
  2. Descompacte o arquivo (zip) zipado.
  3. Coloque o arquivo rec6_numero_de_votos.php na pasta de plugins do WordPress – [dir wordpress]/wp-content/plugins/
  4. Na página de plugins do seu WordPress ative o plugin: Rec6 número de votos.

Pronto. Instalado o plugin agora é só adicionar a seguinte linha:

dentro do loop do template que você está utilizando.

Be Happy!

[update]
O cardoso contribuiu com uma importante observação: verificar primeiramente se o plugin está ativado, veja mais detalhes: Plugin WordPress com contador de votos do Rec6
[/update]

O código do w3FormValidation foi liberado e comentado

No post anterior em que anunciei o w3FormValidation 2.0 o Jader Rubini contribuiu com um interessante comentário.

Em seguida respondi a ele e como promessa é dívida o código está liberado nas duas versões: o original (16,1 KB) – todo comentado e indentado – e o compactado (6,29 KB).

Desta forma será possível um feedback melhor dos leitores e o envio de sugestões para o w3FormValidation, conto com o seu :)

Os novos tipos de validação e o suporte a validação de radio buttons já está aqui no forno, quando finalizar irei disponibilizá-la – é claro – e comentarei a respeito.

w3FormValidation 2.0 está disponível

O w3FormValidation 2.0 está a sua disposição. Acrescentei novos recursos a este sistema de validação e dedicarei este post para falar sobre eles. Vamos lá.

[UPDATE]o w3FormValidation trabalha com a Mtzlib 0.2.6 ou superior.[/UPDATE]

Primeiramente. Se você não sabe do que se trata o w3FormValidation vou lhe dizer: é uma forma simples, rápida, simples e não-obstrutiva para validação de formulários web.

Esta segunda versão mantém o mesmo engine de validação da primeira, o que significa dizer que a forma para informar as regras de validação dos campos é a mesma. Vide exemplo:

var camposVal = [];
camposVal.push('tipo-de-validação,id-do-campo,mensagem');
...

Agora você poderá customizar o título do box da mensagem, informando o texto desejado através de um parâmetro ao chamar o w3FormValidation. Observe:

var valida = new w3FormValidation(camposVal,'Texto que será utilizado no título');

Se o título não for informado, será utilizado o título padrão: Observações!

Outra customização é a possibilidade de dizer ao w3FormValidation qual será a distância entre o box da mensagem e o topo do viewport do browser. Por padrão a distância é zero, e você pode informar essa distância da seguinte maneira:

var valida = new w3FormValidation(camposVal,'Texto que será utilizado no título',100);

Ou seja, o box da mensagem terá 100px de distância entre o topo do viewport.

O w3FormValidation 2.0 utiliza um overlay sobre o body, deixando os demais elementos na página de forma translúcida e um foco exclusivo e total ao box da mensagem. Mas se você não quiser utilizar este recurso, você poderá desativá-lo assim:

var valida = new w3FormValidation(camposVal,'Texto que será utilizado no título',100,false);

Ou seja, informando false como valor para o quarto parâmetro.

Na versão 1.0 do w3FormValidation o box da mensagem sempre era exibido no topo do página, o que tornava a exibição chata e desconfortável caso o formulário estivesse no rodapé da página, por exemplo. Nesta segunda versão, é verificado a localização do usuário na página no momento em que ele envia o formulário, dessa forma é possível exibir o formulário exatamente no local em que o usuário e o formulário se encontram na página.

Outro recurso adicionado foi a possibilidade do box da mensagem acompanhar a rolagem da página feita pelo usuário. Mas se você não quiser utilizar este recurso, você também pode desativá-lo, da seguinte forma:

var valida = new w3FormValidation(camposVal,'Texto que será utilizado no título',100,false,false);

Como você percebeu, é só informar no quinto parâmetro o valor false que tal recurso não será utilizado.

Outro detalhe é importante, é que esta versão retira do campo a classe w3FieldError caso ele tenha passado no validação desejada. Nesta versão também foi incluído o w3FadingOpacity.

Os tipos de validação reconhecidos e suportados pelo w3FormValidation ainda são os mesmos. Novos tipos estão anotados e já estou planejamento o desenvolvimento, mas julguei estas modificações mais emergenciais e necessárias para este add-on.

Conto com seu comentário, sugestão e crítica para melhorar cada vez mais este sistema de validação.

Overlay para o body com JavaScript com a Mtzlib

Expliquei no post anterior – Overlay para o body com JavaScript – como criar um overlay para o body com JavaScript. Neste post, falarei sobre o mesmo assunto, ou melhor, explicarei a mesma coisa.

Mas agora, iremos reproduzir o mesmo efeito, mas utilizando a Mtzlib. Assim, você poderá comparar a função bodyOverlay que criamos anteriormente com esta agora. Observe:

function bodyOverlay() {
	var sizesPage = getPageSize();
	$append($new("div","id=bodyOverlay",''));
	$('bodyOverlay').style.height = arrayPageSize[1] + 'px';
}

Veja como a Mtzlib facilitou nossa vida e tornou todo o processo mais fácil.

Veremos agora, como adicionar o add-on w3FadingOpacity. Observe mais uma vez:

function bodyOverlay() {
	var sizesPage = getPageSize();
	$append($new("div","id=bodyOverlay",''));
	$('bodyOverlay').style.height = arrayPageSize[1] + 'px';
	var fadeOverlay = new w3FadingOpacity('bodyOverlay',0,80,0);
	fadeOverlay.start();
}

Para remover o overlay criado, você pode utilizar a seguinte função:

function removerOverlay() {
if ( $('bodyOverlay') ) {
$remove($('bodyOverlay'));
}
}

Um detalhe. Já que está utilizando o w3FadingOpacity você deverá fazer uma simples alteração nas CSS, observe:

opacity: 0;
filter:alpha(opacity=0);

Se você não leu o post anterior: Overlay para o body com JavaScript leia-o para você compreender este melhor. Uma vez que este tem a simples intenção de demonstrar como é mais simples trabalhar com JavaScript e DOM utilizando a Mtzlib.

[UPDATE] Veja um exemplo deste efeito [/UPDATE]

w3FormValidation – Add-on para a Mtzlib

Finalizei o segundo add-on para a Mtzlib e ao mesmo tempo uma página dedicada a ele. O w3FormValidation é um add-on que vai simplificar seu trabalho ao validar formulários, tornando essa tarefa mais simples e eficiente.

Esse add-on para validação de formulário tem algumas vantagens interessantes de serem destacadas, vejamos:

Ele cria um “box” em HTML – com tag div – para simular o alert box do JavaScript. Com isso você poderá estilizá-lo e deixá-lo de acordo com a identidade visual do seu projeto.

Além do mais, mesmo que o alerta – criado pelo w3FormValidation – esteja na tela será possível prosseguir com o cadastro, coisa que não aconteçe quando um alert box do JavaScript é exibido.

Outra coisa bacana, é que você poderá por exemplo, manter todas suas regras de validação em único arquivo JS e editá-lo como e quando precisar, sem precisar mexer no HTML da sua página. Observe um exemplo:

var camposVal = [];
camposVal.push('req,campo_nome,Oops! Informe o seu nome aí.');
camposVal.push('email,campo_email,Oops! Informe um e-mail válido.');
camposVal.push('url,campo_url,Oops! Informe uma URL válida.');
camposVal.push('igual,senha1,senha2,Oops! As senhas informadas não conferem.');

ou seja, você pode criar várias regras como a demonstrada acima, e manter todas elas em um único arquivo. A seqüência da regra é a seguinte:

‘tipo-de-validação,id-do-campo,mensagem-a-ser-exibida.’

Até o momento, o w3FormValidation suporta quatro tipos de validação, sendo eles:

  1. req = requerido (o campo informado precisa ser preenchido);
  2. email = email válido (o campo informado precisa conter uma estrutura de e-mail válida);
  3. url = url válida (o campo informado precisa conter uma estrutura de URL válida);
  4. igual = os dois campos informados precisarão conter o mesmo valor – serem iguais.

Irei desenvolver outros tipos de validação, como: data, cpf, cnpj, números inteiros, entre outros. Gostaria muito da sua sugestão combinado? Ficarei no aguardo, até mais.

Validar um formulário é muito importante.

Com o advento dos aplicativos web, o usuário passou a se interagir quantitativamente com as interfaces. E uma das formas dessa interação entre o usuário e a interface são os formulários que essa última dispõe. Uma vez que os formulários possibilita ao usuário dizer a interface os seus gostos, dados pessoais, senhas, e diversos outros.

O problema nisso aí refere-se ao seguinte: como saber se o usuário está enviando os dados corretamente e da forma como o aplicativo espera recebê-los? A resposta é simples: validando os dados por ele enviados, por isso: validar um formulário é muito importante.

Mas a validação proporciona muito mais para ambas as partes – usuário e interface – veja só:

Se o usuário envia uma informação em um formato desconhecido, nossa aplicação pode ter uma reação indesejada, como: exibir uma página toda em branco sem nenhuma informação ao usuário. A validação pode prevenir este acontecimento, e além do mais, exibir uma mensagem de alerta ao usuário, esclarecendo a ele o que está acontecendo.

Códigos maliciosos podem ser injetados em sua aplicação na falta de uma validação. Infelizmente não podemos confiar no que os usuários nos enviam. Outra vantagem da validação é “forçar” o usuário a preencher todos os campos requeridos e evitar a falta de informação necessária ao sistema.

Podemos realizar dois tipos de validação: client-side (javascript) ou server-side (php, por exemplo).

A validação server-side é mais segura, uma vez que nós desenvolvedores temos total controle sobre ela, ao contrário da validação client-side. Mas essa última é importante por acontecer em tempo real e evitar processamento desnecessário na aplicação.

Para facilitar o meu trabalho com a validação dos formulários, estou desenvolvendo um Add-on para a Mtzlib que cuidará disso. Ele já se encontra em fase final de desenvolvimento e irei postá-lo em breve.

PS.: Gostou do assunto? Leia mais.