Using ActiveModel Validations
suggest changeYou can validate any object, even plain ruby.
class Userinclude ActiveModel::Validationsattr_reader :name, :agedef initialize(name, age)@name = name@age = ageendvalidates :name, presence: truevalidates :age, numericality: { only_integer: true, greater_than: 12 }end
User.new('John Smith', 28).valid? #=> trueUser.new('Jane Smith', 11).valid? #=> falseUser.new(nil, 30).valid? #=> false
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents