Rails à Moda do Porto — Episódio 2
Quantas vezes pensamos no trabalho que dá validarmos formulários? Misturar lógica com apresentação apenas para validar uma coisa pequena consegue ser uma verdadeira dor de cabeça.
No seguimento da aplicação educacional que iniciámos no primeiro episódio, este segundo aborda validações. Com apenas duas instruções, conseguimos dizer ao sistema que queremos que o sistema verifique a presença de vários campos, bem como a numericalidade de outro campo. Existem muitas mais validações que podem ser consultadas na API do Rails.
class Aluno < ActiveRecord::Base validates_presence_of :primeironome, :ultimonome, :email, :sexo validates_numericality_of :telefone end
Já sabem, podem contribuir com os vossos comentários e dúvidas.
Edit: A pedido de alguns assíduos colegas, segue abaixo a lista de todas as validações possíveis:
- validates_acceptance_of
- validates_associated
- validates_confirmation_of
- validates_each
- validates_exclusion_of
- validates_format_of
- validates_inclusion_of
- validates_length_of
- validates_numericality_of
- validates_presence_of
- validates_size_of
- validates_uniqueness_of

Marco Pinheiro said:
Há alguma forma de com um toque de mágica, passar alguma desta validação numa primeira instância para o lado do cliente, por JS?
[ ]
José Mota said:
Sim, é bastante possível, Marco. Ainda não me atrevi a fazer isso, mas tudo indica que é possível.
Uma solução muito viável é enviar o formulário por AJAX para o servidor e ele enviar apenas uma lista de erros, por exemplo.
Será um tópico muito interessante para um próximo screencast. Obrigado Marco!