2012-03-20 59 views
10

我有一個圖像上傳應用程序在carrierwave上運行,限制用戶上傳圖片僅限期望的擴展名'jpg,jpeg,png'我已經在我的上傳器中載入了carrierwave驗證,定義爲使用CarrierWave設置自定義錯誤消息

def extension_white_list 
    %w(jpg jpeg png) 
end 

現在任何人試圖擴展其與期望不同的擴展名(提上)上傳的圖像將導致驗證錯誤

我想自定義的驗證錯誤消息

右ñ流錯誤消息是作爲

You are not allowed to upload "" files, allowed types: ["jpg","jpeg","png"] 

誰能幫我找到這個link其中傢伙提到如何實現這一

,但它的一些問題

1. I18n support I dont require to translate the error message using I18n 

2. The 'Key' to be used I not sure which key to used in YAML for 
    not matching extension whitelist error message (e.g) carrierwave_processing_error key if error is for processing failure 

請提供我的任期回答CarrierWave和請不要求我爲擴展匹配編寫單獨的驗證集

回答

2

在en.yml中定義一個關鍵值對

en: 
    errors: 
    messages: 
     extension_white_list_error: 'My Custom Message' 

如果與最近的版本有所變化。因此,嘗試如下如果以上回答不工作:

en: 
    errors: 
    messages: 
     extension_whitelist_error: 'My Custom Message' 

,讓CarrierWave做休息

+0

喜@Viren我試試你的答案,但沒有爲我工作:(我在這裏創建一個新的問題:http://stackoverflow.com/questions/19068821/custom-error-message-for -carrierwave-dont-work,有什麼想法嗎?我使用rails 4 – medBo 2013-09-28 16:07:50

1

由於某種原因,我的ActiveModel沒有包含來自ca的驗證模塊請致電mount_uploader。我必須在我的模型中執行include CarrierWave::Validations::ActiveModel才能獲得完整性驗證程序。