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
Supported validators:
-
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
-
Fork.
-
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.