c# asp.net web api 中的模型验证日期格式

Model validate date format in c# asp.net web api

我正在映射网络 api 使用模型获取请求复杂类型输入参数,我想验证模型中输入类型的日期格式。

我输入的uri如下 http://localhost:xxxx/api/games/?id=5&date=2018-01-17

在我的游戏控制器中

public IHttpActionResult Get([FromUri]Gamedata) {

 if (ModelState.IsValid) {
 }
 else {

 }
}

在我的模型中class

public class Game
    {
        [Required]
        public int? Id { get; set; }

        [Required]
        public string date { get; set; } // Validate the date format "YYYY-MM-DD"


}

我想验证日期格式 "YYY-MM-DD"。如何实现?我正在阅读 this。但是不知道要用哪个注解?

你可以做到这一点

 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]

在你的模型中

    public class Game
    {
        [Required]
        public int? Id { get; set; }

        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
        public DateTime date { get; set; } // Validate the date format "YYYY-MM-DD"
     }

你也可以看看DateTime.GetDateTimeFormats Method ()