1

"asdf"Mongoid 日付フィールドとして設定すると、検証が行わ1970-01-01 00:00:00 UTC れる前に自動的に置き換えられることに気付きました! したがって、入力の正しい形式をチェックすることは不可能です。入力の形式が正しくない場合、Mongoid は自動的にそれを に置き換えるから1970-01-01 00:00:00 UTCです。

これは既知の問題ですか? 私は今急いでいます。さらにコード例が必要な場合は、明日提供します。

ありがとうございました!

4

1 に答える 1

2

この問題については、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
于 2013-06-11T21:08:28.690 に答える