ruby-on-rails 如何在自定义验证器中添加标准消息错误?

laawzig2  于 2024-01-09  发布在  Ruby
关注(0)|答案(2)|浏览(130)

有以下代码:

validate  :food_types_cannot_be_nil

  def food_types_cannot_be_nil
    if food_types.blank?
      errors.add(:food_types, 'cannot be nil')
    end
  end

字符串
但是现在我希望消息的文本不是'cannot be nil',而是空对象的标准文本(验证存在)。我能做到吗?

brjng4g3

brjng4g31#

你可以试试这个

validates_presence_of :food_types, :message => "Whatever message you want"

字符串
如果你想要默认消息,那么不要在这里给予任何消息。它将自动接受默认消息

1rhkuytd

1rhkuytd2#

请参阅文档中的ActiveModel::Errors#add
第二个参数kind可以是任何自定义错误消息的String,也可以是标准错误消息的Symbol。
在你的情况下,

validate  :food_types_cannot_be_nil

  def food_types_cannot_be_nil
    if food_types.blank?
      errors.add(:food_types, :blank)
    end
  end

字符串

相关问题