Ruby on Rails日期字段验证



我正在为一个类做这个项目,其中一个需求是"验证日期字段类型"。

例如:

rails g scaffold Tasks id:primary_key description:string due:date

我要向模型中添加什么以便验证日期?

我已经尝试了多种不同的"解决方案",但似乎没有任何工作。

在您的模型中,您可以定义一个自定义方法来处理您的验证。

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

您可以使用简单的"验证时效性"插件:https://github.com/adzap/validates_timeliness/

然后使用以下语法:

class Task < ActiveRecord::Base
  validates_date :due
end

除非插件不被允许,在这种情况下,另一个答案(创建您自己的验证器)将更合适。

相关内容

  • 没有找到相关文章

最新更新