我想知道爲特定字段顯示警告的最佳實施是發送到數據庫。Rails 3驗證只觸發一次以模擬新記錄中的警告
舉個例子,有人提供的數據被認爲是有效的,但有問題。所以我們想要把它看作是一次驗證錯誤,並確認它是用戶真正想要輸入的內容。此時他們可以選擇繼續或更改輸入的數據。如果他們選擇繼續,他們會得到批准,我們將在下一個運行中跳過驗證。
但是(並且這是我不確定的部分),如果他們將該字段更改爲另一個值得懷疑的值,我們想讓他們通過相同的過程。請記住這些是新記錄,而不是已經保存到數據庫的記錄。
基本的條件驗證可以實現這樣的壯舉嗎?會有更好的選擇嗎?
只是爲了澄清我的應用程序確切知道如何處理這些有問題的數據,但它的處理方式與正常數據不同,我們只是想提前通知用戶警告。
目前,驗證是您典型的自定義驗證方法,它指示對象的有效性。
validate :some_field_some_rules
def some_field_some_rules
if some_conditions_must_be_true
errors.add(:some_field, "warning message")
end
end
不完全,我不想保存記錄,直到用戶看到警告。我還希望將觸發警告的業務邏輯定義爲自定義的活動記錄驗證,這樣它就可以像一個典型的錯誤消息一樣被處理,而我的代碼的其餘部分可以保持不可知,而無需處理任何其他實例變量。爲了清晰起見,我會更新我的問題。 – Noz
編輯答案! –
太好了,這正是我一直在尋找的。 – Noz