An ever growing collection of custom validators for ActiveModel 3.0.
Rails 3.0 have a nice new way to validate instance attributes against built-in and custom validators. For example, you could say:
class Foo << ActiveRecord::Base validates :name, :presence => true, :uniqueness => true, :format => /(.*)/ end
This equals the following:
class Foo << ActiveRecord::Base validates_presence_of :name validates_uniqueness_of :name validates_format_of :name, :with => /(.*)/ end
You can do this now without using ActiveRecord either, using only ActiveModel's validators to validata your model's attributes:
class Foo include ActiveModel::Validators attr_accessor :name validates :name, :presence => true, :uniqueness => true end
For more information on validators in Rails 3.0, please visit this excellent post by Jamie Hill: thelucid.com/2010/01/08/sexy-validation-in-edge-rails-rails-3/
Install as a gem:
# gem install custom_validators
Or as a plugin
# rails plugin install http://github.com/tarsolya/custom-validators.git
email - Simple validator for e-mail address format, not RFC compliant, though.
# validates :contact, :email => true
real_id - Validates attribute against the new Real ID format used on Blizzard's Battle.net 2.0
# validates :bnet_id, :real_id = true
* ActiveModel 3.0
How to contribute
Include your custom validator and name it properly.
Please do add specs for it. It should be pretty simple, just check out the already included ones.
Commit your changes, but leave Rakefile, VERSION or HISTORY alone.
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Tarsoly András. See LICENSE for details.