1

我想检查我在validator.rb文件中拥有的日期对象的年份字段是否小于 10000 年。

required(:my_date_object).maybe(
            :date?,
            lt?: '10000-01-01'
          )

运行系统测试时,出现以下错误:

ArgumentError:
   comparison of Date with String failed

我是否应该考虑使用或类似的方法将日期字段转换为字符串to_s,然后进行正则表达式格式检查?或者有没有更直接的方法来检查日期是否小于 10000 年?

4

1 回答 1

4

您需要Datelt?.

你可以这样写:

required(:my_date_object) { lt?(Date.new(10000, 1, 1)) }
于 2018-01-05T12:43:52.860 回答