2012-10-23 91 views
1

嗨,我想要做的是創建一個「軟」驗證換句話說,而不是我失敗的驗證,並沒有將數據保存到數據庫,ID喜歡有驗證給出警告給用戶,並允許用戶保存錯誤的數據,如果他們選擇的話。但驗證者會在之前給他們一個警告。Rails,驗證上的警告

我想要做的服用點如下所示:

class MyModel < ActiveRecord::Base 
    warnings do 
    validate :warnings_validation 
    end 

    def warnings_validation 
    warnings.add(:name_of_element, "warning message") unless x == x 
    end 
end 

我的模型使用繼承了很多,所以像validations_scope寶石不工作任何想法,我能做些什麼/使用?

+0

的可能的複製(http://stackoverflow.com/questions/24628628/ [有效的方式來報告記錄驗證警告和錯誤?]高效的方式報告記錄驗證警告儘可能錯誤 –

回答

-1

看到這一點 - custom validation

試試這個

validate :warnings_validation 
    def warnings_validation 
    self.name_of_element.blank? 
     errors.add(:name_of_element, "warning message") unless x == x 
    end 
    end 
+0

在這種情況下,驗證將停止數據寫入數據庫。如果x!= X,那麼錯誤將被給出,並且元素不會被保存。我想使用驗證器作爲一種過濾器來查看元素是否「可疑」,例如。有一個項目列表加起來可以達到13個,用戶可以在總列中更改13到15並保存。驗證者會嘗試保存並且會給出警告「total doesnt add up」,但它仍然可以節省15到數據庫..我不知道這個例子是否有助於清除它 – TheLegend