MVC .Net核心模型validation – 值”无效。 错误

我试图在MVC .Net Core中使用模型validation,并且无法管理替换此默认错误消息’值”无效’。

理论上,我们可以通过在模型中使用ErrorMessage Annotation来替换我们自己的自定义错误消息。 但我找不到办法使这个工作。

我的模特

 [Required(ErrorMessage = "Date Required")] [DataType(DataType.Date, ErrorMessage = "Invalid Date Format")] [Display(Name = "Appointment Date")] [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] public DateTime AppointmentDate { get; set; } 

我为RequiredDataType标记添加了不同的ErrorMessage ,如上所示。

我的HTML视图

  

在此处输入图像描述

你能帮我解决一下如何更换错误信息吗? 谢谢。

为了使您的Required属性有效,您需要使字段为空:

 public DateTime? AppointmentDate { get; set; } 

编辑 :还要注意, DataType属性实际上不对DataType执行validation。 MVCvalidation将post数据绑定到model时的日期

我的问题是,在Create Action中,我会返回视图而不会新建一个实体,当我改变它时,即Return View(new MyEntity()); 它解决了这个问题