Logo_objecttraining
Centro de treinamento Open Source
HOME INSTITUCIONAL PARCEIROS INSTRUTORES TREINAMENTOS ARTIGOS CONTATO
Criando validates personalizados, exemplo com cpf e cnpj
Validates são muito fáceis de usar ! E gerar validates personalizados podem lhe poupar ainda mais tempo ! Neste artigo veremos como criar um validate para cpf e cnpj, e com isso, criar qualquer validate que desejar.

Criando um validate de brincadeira
Imagine que gostaria de validar se um determinado atributo é uma String ! Poderíamos criar um validate como no exemplo abaixo:
 

Nosso model
 
Ok, esse validate não existe ! Então vamos implementá-lo
 

Implementando nosso validate de brincadeira
Neste momento, a linha que merece destaque é value.is_a? String, é neste momento que estamos efetuando a validação propriamente dita e adicionando a mensagem de erro.
 

Testando
No console do rails (vá até o diretório do projeto e digite ruby script/console) podemos simular uma validação para checarmos se tudo está correndo como previsto.
Primeiro instanciamos um objeto Usuario. Após, chamados o método valid? que processa a validação do objeto. Se você chamar os métodos save, por exemplo o método valid? é automaticamente chamado através dos callbacks previstos. Chamando valid? diretamente podemos verificar se existem erros no objeto.


Observe que o valor retornado é false, indicando que houve problemas na validação. Com o método errors.full_messages.to_s, estamos imprimindo uma mensagem de texto completa de todos os atributos com problemas. Onde, errors é um array contendo os erros, full_messages é o mesmo resultado de erros porém de forma completa, e por último to_s para converter um array para uma string a fim de facilitar a visualização.
 
Primeira_offAnterior_off 1 2  3  Proxima_onUltima_on
Contato
Rua Vitória, 395 - sala 910.
CEP: 01210-001
São Paulo - SP

Central de Atendimento:
(11) 3224-9198

Deixe dúvida, opinião ou crítica.
Clique Aqui

Mapa de Localização
Artigos
Performance, escalabilidade, ruby-vms e nossa experiência - 14/05/2008
Sem dúvida este é o ano da promessa para as Ruby Machines. Este assunto já me interessava, mas quando tivemos solucionar o...
Criando validates personalizados, exemplo com cpf e cnpj - 16/04/2008
Validates são muito fáceis de usar ! E gerar validates personalizados podem lhe poupar ainda mais tempo ! Neste artigo ve...
Acessando DLL'S no ruby (exemplo com ECF) - 07/04/2008
Ruby realmente é mais do que simplesmente programar para a web ! Eu mesmo somente decidi migrar todos os aplicativos da O...

Logo_jruby
"Rails", "Ruby on Rails", e o logotipo do Rails são marcas registradas de David Heinemeier Hansson, com todos os direitos reservados.
Todas as demais marcas registradas são propriedades de seus respectivos donos, com direitos reservados.