validates_confirmation_of with simple_form和错误消息

时间:2013-07-04 21:39:42

标签: ruby-on-rails simple-form

使用Rails 3.2.12和simple_form 2.0.4

在我们的用户模型中,我们有:

  validates_confirmation_of :email, :on => :create, :message => "should match confirmation"
  validates_confirmation_of :password, :message => "Your password confirmation does not match the password entered"

到目前为止,如果你对这些字段中的任何一个都有确认错误(即它们不匹配),那么simple_form只标记带有错误类和错误消息的常规字段。 我的客户希望匹配的_confirmation字段标记在相同的红色样式/错误类中。

有没有办法用simple_form做这个而不需要重新设计?

这在我看来:(类似于密码)

<%= f.input :email_confirmation, :required => true, :label => "Verify Email Address", :input_html => {:rel => "tooltip", :title => "Please enter your email address again to prevent typing errors"} %>

感谢

1 个答案:

答案 0 :(得分:0)

您可以在before_save(或before_create)中执行此操作并执行自定义验证,然后执行

before_create :email_validation

def email_validation
  if email validation stuff
    self.errors.add( :email, "error message")
    self.errors.add( :email_confirmation, "error message")
  end
end
通过这种方式,您可以更好地控制您显示的错误消息。