Ruby on Rails - validações de entrada do usuário

Aqui está a lista de validações que você pode realizar na entrada do usuário -

validates_presence_of

O seguinte verifica se last_name e first_name devem ser preenchidos e não devem ser NULL.

validates_presence_of :firstname, :lastname

validates_length_of

O exemplo a seguir mostra várias validações em um único campo. Essas validações podem ser realizadas separadamente.

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'    
   :too_long => 'way to long'

validates_acceptance_of

O seguinte aceitará apenas o valor 'Y' para o campo de opção.

validates_acceptance_of :option            
                        :accept => 'Y'

validates_confirmation_of

Os campos senha e senha_confirmação devem corresponder e serão usados ​​da seguinte forma -

validates_confirmation_of :password

validates_uniqueness_of

O seguinte coloca uma condição para user_name ser único.

validates_uniqueness_of :user_name

validates_format_of

O seguinte valida que um determinado ID de email está em um formato válido. Isso mostra como você pode usar uma expressão regular para validar um campo.

validates_format_of :email
   :with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

validates_numericality_of

Isso valida que determinado campo é numérico.

validates_numericality_of   :value                 
                            :only_integer => true   
                            :allow_nil => true

validates_inclusion_of

O seguinte verifica se o valor passado é uma enumeração e se enquadra no intervalo fornecido.

validates_inclusion_of  :gender,   
                        :in => %w( m, f )

validates_exclusion_of

O seguinte verifica se os valores fornecidos não estão no intervalo fornecido.

validates_exclusion_of  :age        
                        :in => 13..19

validates_inclusion_of

O seguinte verifica se os valores fornecidos devem estar dentro do intervalo fornecido. Este é o oposto de validates_exclusion_of.

validates_inclusion_of  :age
                        :in => 13..19

validates_associated

Isso valida se o objeto associado é válido.

Opções para todas as validações

Você pode usar as seguintes opções junto com todas as validações.

  • :message => 'my own errormessage' Use para imprimir uma mensagem de erro personalizada em caso de falha na validação.

  • :on => :create or :updateIsso será usado nos casos em que você deseja executar a validação apenas quando o registro está sendo criado ou atualizado. Então, se você usar:create então, essa validação funcionará apenas quando houver uma operação de criação no banco de dados.

Verifique o link Validações para obter mais detalhes sobre Validações.

rails-reference-guide.htm