我知道ActiveRecord提供了一些宏,如validates_uniqueness_of
validates_size_of
爲用戶輸入做了一些驗證。但我想知道是否有可能提供 一些回調驗證方法作爲模型級驗證方法。例如, 我想檢查輸入字符串只有字母從'a'到'h',有趣嗎?但它不時發生。如何在rails的模型中添加客戶驗證器
0
A
回答
1
您可以創建自定義函數具有:
validate :custom_function
def custom_function
...
end
您還可以使用正則表達式來驗證字符串。對於你的例子,我會用:
validates_format_of :attribute, :with => /^[a-h]+$/
1
rails guides有一個如何創建自己的自定義驗證器的很好的例子。如果您在使用Rails 3,你可以做這樣的:
class Foo < ActiveRecord::Base
validate :from_a_to_h
# Use the name of your attribute in place of :input and input.
def from_a_to_h
errors.add(:input, "must contain only letters from a to h") if input =~ /[i-Z]+/
end
end
相關問題
- 1. cakephp客戶端/添加註釋的模型驗證
- 2. 設計 - 如何爲用戶模型添加驗證
- 3. rails自定義驗證器 - 添加到模型或控制器中的錯誤?
- 4. 如何在Rails中爲ActiveRecord模型添加自定義唯一性驗證?
- 5. 如何驗證Ruby on Rails中的客戶端證書請求?
- 6. 如何在ActiveAdmin Rails的admin_user模型中添加用戶名稱
- 7. 無法在Rails 3中的單一資源模型中添加任何驗證
- 8. 具有模型列表的模型的MVC客戶端驗證
- 9. Rails驗證 - 在創建子模型時驗證父模型
- 10. 如何驗證Rails 3關係模型?
- 11. 如何在Rails 4中測試模型關注中的驗證?
- 12. 在rails中驗證模型關係
- 13. 在Rails 3.1中驗證數據模型
- 14. 在Rails中調試模型驗證
- 15. ASP.NET-MVC3中的「自我驗證模型」中的客戶端驗證
- 16. Rails服務器端驗證 - belongs_to模型
- 17. 驗證Rails中不在模型/控制器中的字段
- 18. Rails模型驗證 - validates_inclusion_of
- 19. 測試Rails模型驗證
- 20. Rails和模型驗證
- 21. Rails模型驗證 - validates_inclusion_of
- 22. Ruby on Rails - 模型驗證
- 23. 如何在Rails中顯示相關模型的驗證錯誤?
- 24. 如何在rails中跳過特定函數的模型驗證?
- 25. Rails的客戶端驗證3.1.X
- 26. Backbone.js:爲每個模型添加驗證
- 27. 如何在Rails中添加加入模型的字段總和?
- 28. 在ASP.Net嵌套模型的客戶端驗證MVC
- 29. Django用戶模型驗證器
- 30. 如何添加自定義的驗證方法視圖模型