Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Mongoid:Setting";asdf";作为日期字段';s值时,它将自动替换为;1970-01-01 00:00:00 UTC“;_Ruby On Rails_Validation_Date_Mongoid - Fatal编程技术网

Ruby on rails Mongoid:Setting";asdf";作为日期字段';s值时,它将自动替换为;1970-01-01 00:00:00 UTC“;

Ruby on rails Mongoid:Setting";asdf";作为日期字段';s值时,它将自动替换为;1970-01-01 00:00:00 UTC“;,ruby-on-rails,validation,date,mongoid,Ruby On Rails,Validation,Date,Mongoid,我注意到,当我将“asdf”设置为Mongoid日期字段时,在进行任何验证之前,它会自动替换为1970-01-01 00:00:00 UTC!因此,无法检查输入的正确格式,因为当输入的格式不正确时,Mongoid会自动将其替换为1970-01-01 00:00:00 UTC 这是一个已知的问题吗?我现在很忙,如果您需要更多的代码示例,我将在明天提供 谢谢大家! 此处描述了该问题: 这里有一个解决方案: 例如,如果日期字段的名称为“startdate”,则可以添加以下方法进行验证: validat

我注意到,当我将
“asdf”
设置为Mongoid日期字段时,在进行任何验证之前,它会自动替换为
1970-01-01 00:00:00 UTC
!因此,无法检查输入的正确格式,因为当输入的格式不正确时,Mongoid会自动将其替换为
1970-01-01 00:00:00 UTC

这是一个已知的问题吗?我现在很忙,如果您需要更多的代码示例,我将在明天提供


谢谢大家!

此处描述了该问题:

这里有一个解决方案:

例如,如果日期字段的名称为“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