Will add an error message to each of the attributes in
attributes that is empty.
person.errors.add_on_empty(:name)person.errors.messages# => {:name=>["can't be empty"]}
# File activemodel/lib/active_model/errors.rb, line 347
def add_on_empty(attributes, options = {})
ActiveSupport::Deprecation.warn( ActiveModel::Errors#add_on_empty is deprecated and will be removed in Rails 5.1. To achieve the same use: errors.add(attribute, :empty, options) if value.nil? || value.empty?.squish)
Array(attributes).each do |attribute|
value = @base.send(:read_attribute_for_validation, attribute)
is_empty = value.respond_to?(:empty?) ? value.empty? : false
add(attribute, :empty, options) if value.nil? || is_empty
end
end