diff --git a/lib/paperclip.rb b/lib/paperclip.rb index 304fcc524..2d8a360f7 100644 --- a/lib/paperclip.rb +++ b/lib/paperclip.rb @@ -390,7 +390,10 @@ def validates_attachment_presence name, options = {} validates_each :"#{name}_file_name" do |record, attr, value| if_clause_passed = options[:if].nil? || (options[:if].call(record) != false) unless_clause_passed = options[:unless].nil? || (!!options[:unless].call(record) == false) - record.errors.add(name, message) if if_clause_passed && unless_clause_passed && value.blank? + if if_clause_passed && unless_clause_passed && value.blank? + record.errors.add(name, message) + record.errors.add("#{name}_file_name", message) + end end end diff --git a/test/paperclip_test.rb b/test/paperclip_test.rb index fd9420f98..d4412a7a3 100644 --- a/test/paperclip_test.rb +++ b/test/paperclip_test.rb @@ -225,6 +225,7 @@ def self.should_validate validation, options, valid_file, invalid_file end if validation == :presence should "have an error on the attachment" do + assert @dummy.errors[:avatar] assert @dummy.errors[:avatar_file_name] end else