日期时间引发模型状态对于发布到 Web API 的日期无效(EF 支持)

本文关键字:日期 API 无效 支持 EF Web 时间 模型 状态 于发布 | 更新日期: 2023-09-27 18:31:11

这是我根据我的日志记录遵循特定"模式"的某些提交收到的错误

2016-01-21 01:05:01.5879 ERROR Model state is invalid, will throw a bad request. Model state: {
  "tbl_ExternalContacts.Last_Password_Change": {
    "Value": null,
    "Errors": [
      {
        "Exception": null,
        "ErrorMessage": "The value '19/05/2009 15:17:35' is not valid for Last_Password_Change."
      }
    ]
  }
}

我正在向我的 API 提交大量内容,并且仅在日期中的第一个值超过 12 时才会发生。我应该指出我在英国,所以我们的日期格式是 dd/mm/YYYY。

如何告诉 ASP.NET 验证模型中以该格式发送的日期是否有效,以便实际处理它们?

日期时间引发模型状态对于发布到 Web API 的日期无效(EF 支持)

示例:

 public static void Main()
 {
  string[] dateValues = { "30-12-2011", "12-30-2011", 
                          "30-12-11", "12-30-11" };
  string pattern = "MM-dd-yy";
  DateTime parsedDate;
  foreach (var dateValue in dateValues) {
     if (DateTime.TryParseExact(dateValue, pattern, null, 
                               DateTimeStyles.None, out parsedDate))
        Console.WriteLine("Converted '{0}' to {1:d}.", 
                          dateValue, parsedDate);
     else
        Console.WriteLine("Unable to convert '{0}' to a date and time.", 
                          dateValue);
  }
}

来源: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx