From 275f922a23b780600a32f70de5b661371c8ffdf4 Mon Sep 17 00:00:00 2001 From: Obie Fernandez Date: Mon, 20 Sep 2010 21:35:41 -0400 Subject: Better shortcut options for custom validators [#5672 state:resolved] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Valim --- activemodel/lib/active_model/validations/validates.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'activemodel/lib/active_model/validations') diff --git a/activemodel/lib/active_model/validations/validates.rb b/activemodel/lib/active_model/validations/validates.rb index f6349d57a5..77c5073c6e 100644 --- a/activemodel/lib/active_model/validations/validates.rb +++ b/activemodel/lib/active_model/validations/validates.rb @@ -55,14 +55,19 @@ module ActiveModel # validates :name, :title => true # end # - # The validators hash can also handle regular expressions, ranges and arrays: + # The validators hash can also handle regular expressions, ranges, + # arrays and strings in shortcut form, e.g. # # validates :email, :format => /@/ # validates :gender, :inclusion => %w(male female) # validates :password, :length => 6..20 # - # Finally, the options :if, :unless, :on, :allow_blank and :allow_nil can be given - # to one specific validator: + # When using shortcut form, ranges and arrays are passed to your + # validator's initializer as +options[:in]+ while other types including + # regular expressions and strings are passed as +options[:with]+ + # + # Finally, the options +:if+, +:unless+, +:on+, +:allow_blank+ and +:allow_nil+ can be given + # to one specific validator, as a hash: # # validates :password, :presence => { :if => :password_required? }, :confirmation => true # @@ -99,10 +104,10 @@ module ActiveModel {} when Hash options - when Regexp - { :with => options } when Range, Array { :in => options } + else + { :with => options } end end end -- cgit v1.2.3