2016-09-29 70 views
1

我有一個模型綁定錯誤消息

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

在窗體視圖(simple_form)下面的驗證規則,下面的代碼生成所述文件上傳字段:

= f.input :csv, as: :file 

的驗證有效,但錯誤消息未在上傳字段中顯示。我認爲,其原因是,該驗證是:csv_fingerprint和表單域是:CSV

如何判斷驗證規則,該消息應該顯示在:csv字段中?

回答

1

您可以使用f.error

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

你也可以檢查錯誤的屬性是這樣的:

errors_for(@model, :attribute) 

然後,您可以遍歷這些並顯示出來。

又一種獲取對象錯誤的方法:@model.errors.on(:attribute)

+0

謝謝。所以驗證器中沒有選項來指定消息屬性。你必須去看看。 – Christian

+0

@Christian這是個問題嗎?因爲我不確定我是否可以回答:) –

+1

@Christian模型的驗證器通常在數據庫列上操作,大體上來說。顯示驗證錯誤的方式的責任落在視圖層上。 –