$: << '../lib' require 'test/unit' require 'rubygems' require 'activerecord' require '../init' ActiveRecord::Base.establish_connection(:database => "test.sqlite3", :adapter => "sqlite3") class Thing < ActiveRecord::Base validates_size_of :name, :minimum => 5 validates_presence_of :description validates_format_of :description, :with => /\A[\D\s]+\z/ end t = Thing.new(:name => 'abc', :priority => 10) t.save t.validates_size_of :name, :minimum => 10, :message => "short" t.save errors = t.errors p errors.entries exit t = Thing.new(:name => "abc", :priority => 10) p t.save # false: name too short, description absent p t.errors.entries t.validates_size_of :name, :minimum => 3 p t.save # false: description absent p t.errors.entries t.description = "Should not contain digits like 1,2,3" p t.save # false: description invalid p t.errors.entries t.validates_format_of :description, :with => /./ p t.save p t.errors.entries