在另一个属性上绑定错误消息

Bind error message on another attribute

我在模型中有以下验证规则

validates :csv_fingerprint, uniqueness: { message: "CSV was already uploaded." }

在表单视图(simple_form)中,以下代码生成文件上传字段:

= f.input :csv, as: :file

验证有效,但错误消息未显示在上传字段中。我认为,原因是验证是针对 :csv_fingerprint 并且表单字段是 :csv.

我如何告诉验证规则,消息应该显示在 :csv 字段?

您可以使用 f.error:

= f.input :csv, as: :file
= f.error :csv_fingerprint

您也可以像这样检查属性错误:

errors_for(@model, :attribute)

然后您可以遍历这些并显示它们。

获取对象错误的另一种方法:@model.errors.on(:attribute)