diff options
author | Michael Koziarski <michael@koziarski.com> | 2008-01-26 05:08:20 +0000 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-01-26 05:08:20 +0000 |
commit | 176abc842c43fc803d41efa429456a2ea8e7296d (patch) | |
tree | 911be28379532178d54c0ece99830553a4dae83a /activerecord | |
parent | 8ef3dfff7a48bd0609ba4067c54910880fc6ef88 (diff) | |
download | rails-176abc842c43fc803d41efa429456a2ea8e7296d.tar.gz rails-176abc842c43fc803d41efa429456a2ea8e7296d.tar.bz2 rails-176abc842c43fc803d41efa429456a2ea8e7296d.zip |
Add tests and documentation for allow_blank. Closes #10651 [blj]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8733 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord')
-rwxr-xr-x | activerecord/lib/active_record/validations.rb | 2 | ||||
-rwxr-xr-x | activerecord/test/cases/validations_test.rb | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/validations.rb b/activerecord/lib/active_record/validations.rb index 87f128e9a3..7770d805b1 100755 --- a/activerecord/lib/active_record/validations.rb +++ b/activerecord/lib/active_record/validations.rb @@ -684,6 +684,8 @@ module ActiveRecord # # Configuration options: # * <tt>message</tt> - A custom error message (default is: "is invalid") + # * <tt>allow_nil</tt> - If set to true, skips this validation if the attribute is null (default is: false) + # * <tt>allow_blank</tt> - If set to true, skips this validation if the attribute is blank (default is: false) # * <tt>with</tt> - The regular expression used to validate the format with (note: must be supplied!) # * <tt>on</tt> Specifies when this validation is active (default is :save, other options :create, :update) # * <tt>if</tt> - Specifies a method, proc or string to call to determine if the validation should diff --git a/activerecord/test/cases/validations_test.rb b/activerecord/test/cases/validations_test.rb index 34caf0e67e..bf79521cca 100755 --- a/activerecord/test/cases/validations_test.rb +++ b/activerecord/test/cases/validations_test.rb @@ -489,6 +489,14 @@ class ValidationsTest < ActiveRecord::TestCase assert_raise(ArgumentError) { Topic.validates_format_of(:title, :content) } end + def test_validate_format_with_allow_blank + Topic.validates_format_of(:title, :with => /^Validation\smacros \w+!$/, :allow_blank=>true) + assert !Topic.create("title" => "Shouldn't be valid").valid? + assert Topic.create("title" => "").valid? + assert Topic.create("title" => nil).valid? + assert Topic.create("title" => "Validation macros rule!").valid? + end + # testing ticket #3142 def test_validate_format_numeric Topic.validates_format_of(:title, :content, :with => /^[1-9][0-9]*$/, :message => "is bad data") |