我想允许使用干验证 gem 的日期格式字符串,但我不能。
class NewUserContract < Dry::Validation::Contract
params do
optional(:date).filled(:date)
end
end
contract = NewUserContract.new
contract.call(date: Date.today)
#=> #<Dry::Validation::Result{:date=>Tue, 14 Jan 2020} errors={}>
# I want to allow date formatted string
contract.call(date: '2020-01-20')
#=> #<Dry::Validation::Result{:date=>"2020-01-20"} errors={:date=>["must be a date"]}>
日期格式的字符串在 0.13 之前是允许的,但从 1.0 开始似乎就被禁止了。现在我正在尝试升级我的 Rails 应用程序中的干式验证 gem。
编辑
我不知道为什么,但上面的代码现在可以工作了。也许缓存问题?(不过我记得我跑过bin/rake tmp:cache:clear
)请忽略这个问题。