我正在为这个项目开发一个类,其中一个要求是“在日期字段类型上验证”。
例如,我做了:
rails g scaffold Tasks id:primary_key description:string due:date
我会在模型中添加什么以便验证日期?
我尝试了多种不同的“解决方案”,但似乎没有任何效果。
答案 0 :(得分:4)
在您的模型中,您可以定义自定义方法来处理验证。
class Task < ActiveRecord::Base
validate :check_due_date
def check_due_date
# You can now check the "due" field here. For example, if you only want to allow due
# dates today and later:
if due < Date.today
errors.add(:due, "can only be today or later.")
end
end
end
答案 1 :(得分:1)
您可以使用简单的“验证及时性”插件:https://github.com/adzap/validates_timeliness/
然后使用以下语法:
class Task < ActiveRecord::Base
validates_date :due
end
除非不允许使用插件,否则其他答案(创建自己的验证器)会更合适。