如何在自定义验证中更改默认的“is_invalid error”消息

时间:2016-07-02 07:34:36

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

我在rails模型中添加了validate方法以进行自定义验证。但添加此方法后,我收到“is_invalid”错误消息。下面是我的验证方法。

     validate :check_quantity_of_offer_bale_insepction

      def check_quantity_of_offer_bale_insepction
        if self.bales_offered_for_inspection.to_i > self.batch_quantity.to_i
          self.errors.add(:batch_quantity) << "Bales offered for inspection should be less than Batch Quantity"

        end
      end

我不知道“is_invalid”错误消息来自哪里。我想知道如何摆脱这个“is_invalid”错误消息。

1 个答案:

答案 0 :(得分:2)

您没有使用the correct syntax。正确编写,看起来像这样:

errors.add :batch_quantity, 'Bales offered for inspection should be less than Batch Quantity'

可能值得考虑使用符号和i18n而不是模型中的字符串来表示错误消息。它不仅可以让您的应用程序更容易国际化,还可以使其符合Rails 5 syntax