I cannot believe that Rails would require you to do such a complex manual proc thing for such common case. Please take a look at http://stackoverflow.com/questions/6567793/validate-email-format-only-if-not-blank-rails-3 and apply one of the techniques described there.