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

时间:2018-01-17 11:47:10

标签: c# asp.net-web-api asp.net-web-api2

我正在使用模型映射web api Get request复杂类型输入参数,我想验证模型中输入类型的日期格式。

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

在我的GameController中

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"。如何实现这一目标?我正在阅读this。但是不知道哪个是要使用的注释?

1 个答案:

答案 0 :(得分:3)

你可以这样做

 [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 ()