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

c#asp.net web api中的模型验证日期格式,c#,asp.net-web-api,asp.net-web-api2,C#,Asp.net Web Api,Asp.net Web Api2,我正在将web api Get request复杂类型输入参数映射到一个模型,并希望验证模型中输入类型的日期格式 我的输入uri如下 在我的游戏控制器中 public IHttpActionResult Get([FromUri]Gamedata) { if (ModelState.IsValid) { } else { } } 在我的模型课上 public class Game { [Required] public int? Id {

我正在将web api Get request复杂类型输入参数映射到一个模型,并希望验证模型中输入类型的日期格式

我的输入uri如下

在我的游戏控制器中

public IHttpActionResult Get([FromUri]Gamedata) {

 if (ModelState.IsValid) {
 }
 else {

 }
}
在我的模型课上

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”。如何做到这一点?我正在读书。但是不知道要使用哪个注释?

您可以这样做

 [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"
     }
您还可以查看

您可以这样做

 [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对象代替string?然后您可以根据区域设置na格式化dateString?为什么不使用DateTime对象来代替string?然后可以根据区域设置na设置日期字符串的格式?