José Mota — Web engineer & architect

Rails à Moda do Porto — Episódio 2

August 24th, 2009


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:

  1. validates_acceptance_of
  2. validates_associated
  3. validates_confirmation_of
  4. validates_each
  5. validates_exclusion_of
  6. validates_format_of
  7. validates_inclusion_of
  8. validates_length_of
  9. validates_numericality_of
  10. validates_presence_of
  11. validates_size_of
  12. validates_uniqueness_of

2 insights have been shared.

  1. 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?

    [ ]

  2. 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!

Leave a comment!