如何在没有字段名作为前缀的字段名上添加自定义验证消息?

How to add custom validation message on field name without field name as a prefix?

我正在使用

validates_presence_of :name, :message => "promo code required"

它给出

Name promo code required

我只要

promo code required

您可以为此创建自定义验证方法。

validate :promo_require

def promo_require
  errors.add(:base, 'promo code required') unless name.present?
end

您可以编写自定义验证,并将错误消息作为一个整体添加到记录中,而不是如下所示的特定属性:

validate :name_is_present

private

# Making this private is optional, but recommended
def name_is_present
  errors.add(:base, "Promo code required") if name.blank?
end

更多详情请参考Ruby guides here

中的解释

您还可以为每个属性定义“人性化”名称,如下所示:

  def self.human_attribute_name(attribute, options={})
    case attribute
    when :name, "name"
       ""
    else
     super
    end
  end