aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel')
-rw-r--r--activemodel/lib/active_model/validations.rb9
-rw-r--r--activemodel/test/models/reply.rb10
2 files changed, 7 insertions, 12 deletions
diff --git a/activemodel/lib/active_model/validations.rb b/activemodel/lib/active_model/validations.rb
index cef107bb4d..64343f7a5c 100644
--- a/activemodel/lib/active_model/validations.rb
+++ b/activemodel/lib/active_model/validations.rb
@@ -82,10 +82,7 @@ module ActiveModel
# Runs all the specified validations and returns true if no errors were added otherwise false.
def valid?
errors.clear
-
run_callbacks(:validate)
- validate if respond_to?(:validate)
-
errors.empty?
end
@@ -97,12 +94,6 @@ module ActiveModel
def get_attribute_value(attribute)
respond_to?(attribute.to_sym) ? send(attribute.to_sym) : instance_variable_get(:"@#{attribute}")
end
-
- protected
-
- # Overwrite this method for validation checks on all saves and use <tt>Errors.add(field, msg)</tt> for invalid attributes.
- def validate
- end
end
end
diff --git a/activemodel/test/models/reply.rb b/activemodel/test/models/reply.rb
index cfe256034c..acfd801674 100644
--- a/activemodel/test/models/reply.rb
+++ b/activemodel/test/models/reply.rb
@@ -4,9 +4,13 @@ class Reply < Topic
validate :errors_on_empty_content
validate_on_create :title_is_wrong_create
+ validate :check_empty_title
+ validate_on_create :check_content_mismatch
+ validate_on_update :check_wrong_update
+
attr_accessible :title, :author_name, :author_email_address, :written_on, :content, :last_read
- def validate
+ def check_empty_title
errors[:title] << "Empty" unless attribute_present?("title")
end
@@ -14,7 +18,7 @@ class Reply < Topic
errors[:content] << "Empty" unless attribute_present?("content")
end
- def validate_on_create
+ def check_content_mismatch
if attribute_present?("title") && attribute_present?("content") && content == "Mismatch"
errors[:title] << "is Content Mismatch"
end
@@ -24,7 +28,7 @@ class Reply < Topic
errors[:title] << "is Wrong Create" if attribute_present?("title") && title == "Wrong Create"
end
- def validate_on_update
+ def check_wrong_update
errors[:title] << "is Wrong Update" if attribute_present?("title") && title == "Wrong Update"
end
end