提交 b437053b 编写于 作者: R Rafael Mendonça França

Remove ActiveModel::Errors#add_on_present method.

We don't need to define a new method in ActiveMode::Errors for each
validatior.

See
https://github.com/rails/rails/commit/d72a07f1d1478db9daed847eadb35bfd840674f6#commitcomment-2325333
上级 8ee1c26a
......@@ -328,19 +328,6 @@ def add_on_blank(attributes, options = {})
end
end
# Will add an error message to each of the attributes in +attributes+ that
# is present (using Object#present?).
#
# person.errors.add_on_present(:name)
# person.errors.messages
# # => { :name => ["must be blank"] }
def add_on_present(attributes, options = {})
Array(attributes).flatten.each do |attribute|
value = @base.send(:read_attribute_for_validation, attribute)
add(attribute, :not_blank, options) if value.present?
end
end
# Returns +true+ if an error on the attribute with the given message is
# present, +false+ otherwise. +message+ is treated the same as for +add+.
#
......
......@@ -2,8 +2,8 @@ module ActiveModel
module Validations
# == Active Model Absence Validator
class AbsenceValidator < EachValidator #:nodoc:
def validate(record)
record.errors.add_on_present(attributes, options)
def validate_each(record, attr_name, value)
record.errors.add(attr_name, :not_blank, options) if value.present?
end
end
......
......@@ -110,7 +110,7 @@ def initialize(options)
# Return the kind for this validator.
#
# PresenceValidator.new.kind # => :presence
# UniquenessValidator.new.kind # => :uniqueness
# UniquenessValidator.new.kind # => :uniqueness
def kind
self.class.kind
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册