Validações!

http://edgeguides.rubyonrails.org/
active_record_validations.html
Validações Rails
•

Configurações no modelo

•

Garantem que somente objetos válidos
sejam persistidos

•

Métodos que disparam
•

create

•

save

•

update

•

update_attributes
Obrigatório
class Person < ActiveRecord::Base
validates :name, presence: true
validates_presence_of :idade
end
Tamanho
class Person < ActiveRecord::Base
validates :name, length: { minimum: 2 }
validates :bio, length: { maximum: 500 }
validates :password, length: { in: 6..20 }
validates :registration_number, length: { is: 6 }
end
Tamanho
class Essay < ActiveRecord::Base
validates :content, length: {
minimum: 300,
maximum: 400,
too_short: "minimo %{count} caracteres",
too_long: "maximo %{count} caracteres"
}
end
Numéricos
class Player < ActiveRecord::Base
validates :points, numericality: true
validates :games_played, numericality: { only_integer: true }
end
Numéricos
:greater_than

:equal_to

:greater_than_or_equal_to

:odd

:less_than

:even

:less_than_or_equal_to
!
!
Unicidade
class Account < ActiveRecord::Base
validates :email, uniqueness: true
end
Unicidade
class Holiday < ActiveRecord::Base
validates :name, uniqueness: { scope: :year,
message: "should happen once per year" }
end
Unicidade
class Person < ActiveRecord::Base
validates :name, uniqueness: { case_sensitive: false }
end

Validações no Ruby on Rails