如何禁用特定的验证消息?

时间:2014-08-09 05:11:57

标签: ruby-on-rails ruby-on-rails-4

我有几个模型验证,但在一个特定的我要验证但不会在错误时返回它的消息。

我试过了:

validates :birth_text, presence: true, message: false

或者

validates :birth_text, presence: true, message: ''

错误:

in `rescue in block in validates': Unknown validator: 'MessageValidator' (ArgumentError)

我想这样做,因为我将在另一个字段上验证并且它返回重复的错误消息。

1 个答案:

答案 0 :(得分:2)

如果我收到您的问题,那么您需要定义验证器

class MessageValidator < ActiveModel::Validator
 def validate(record)
   if some_complex_logic
    record.errors[:base] = "This record is invalid" #if you want to send message

  end
 end

private
  def some_complex_logic
   # ...
  end
 end

和模型

    validates_with MessageValidator