You can validate any object, even plain ruby.
class User include ActiveModel::Validations attr_reader :name, :age def initialize(name, age) @name = name @age = age end validates :name, presence: true validates :age, numericality: { only_integer: true, greater_than: 12 } end
User.new('John Smith', 28).valid? #=> true User.new('Jane Smith', 11).valid? #=> false User.new(nil, 30).valid? #=> false