title: validate_presence_of does not produce 'can't be blank' error
body: <p>I received this error from my rspec when using <code>validate_presence_of</code>:</p>
  
  <pre><code>Expected errors to include "can't be blank" when country_code is set to nil
  </code></pre>
  
  <p>This possible happened because of this line I wrote: <code>before_validation :autofill_country_code</code>
  where it does the following:</p>
  
  <pre><code>def autofill_country_code
    unless self.country_code.present?
      country = GeoCache.geocode(self.city).country_code
      country_code = IsoCountryCodes.find(country).calling
      self.country_code = country_code.tr('+', '')
    end
  end
  </code></pre>
  
  <p>The test passes if I remove this validation. How do I fix this?</p>