我注意到,当我设置为 Mongoid 日期字段时,它会在任何验证发生之前"asdf"
自动替换为!所以无法检查输入的格式是否正确,因为当输入的格式不正确时,Mongoid 会自动将其替换为.1970-01-01 00:00:00 UTC
1970-01-01 00:00:00 UTC
这是一个已知问题吗?我现在很着急,如果您需要更多代码示例,我明天会提供。
谢谢!
我注意到,当我设置为 Mongoid 日期字段时,它会在任何验证发生之前"asdf"
自动替换为!所以无法检查输入的格式是否正确,因为当输入的格式不正确时,Mongoid 会自动将其替换为.1970-01-01 00:00:00 UTC
1970-01-01 00:00:00 UTC
这是一个已知问题吗?我现在很着急,如果您需要更多代码示例,我明天会提供。
谢谢!
此处描述了该问题:https ://github.com/mongoid/mongoid/issues/2950
这里有一个解决方案:https ://github.com/mongoid/mongoid/pull/2465
例如,如果您的日期字段的名称是“startdate”,您可以添加以下方法进行验证:
validate :startdate_valid_format
def startdate_valid_format
begin
Date.parse(startdate_before_type_cast)
rescue
errors.add(:startdate, "is formatted incorrectly")
end
end