如何在特定验证失败时调用方法?

时间:2017-01-27 06:04:13

标签: ruby-on-rails validation rails-models

我正在检查用户的电子邮件的唯一性:

validates_uniqueness_of :email

没关系。但是,当这个特定的验证失败时,我需要调用一个方法。

因此,如何在rails模型中特定验证失败时调用方法?!

TIA!

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

after_validation :email_contains_errors

def email_contains_errors
  if self.email.errors.any?
    # do something
  end
end

或者如果失败则必须触发:

validate :email_contains_errors, :unless => lambda { self.email.errors.empty? }