Asp.net mvc 在mvc[required]中,仅字符串变量的属性errormessages可用于获取CustomErrorMesges,但不用于bool、datetime、int

Asp.net mvc 在mvc[required]中,仅字符串变量的属性errormessages可用于获取CustomErrorMesges,但不用于bool、datetime、int,asp.net-mvc,Asp.net Mvc,我的代码是 public class user { [Required(ErrorMessage = "please enter username")] public string username { get; set; } 对于此字符串属性,我正确获取错误消息。但是 [Required(ErrorMessage = "please enter dateof birth")] public DateTime DOB { get; set; } 对于此im获

我的代码是

public class user
{

    [Required(ErrorMessage = "please enter username")]
    public string username { get; set; }
对于此字符串属性,我正确获取错误消息。但是

    [Required(ErrorMessage = "please enter dateof birth")]
    public DateTime DOB { get; set; }
对于此im获取默认模型状态验证程序消息,im获取如下信息:

在JSON中找不到必需的属性“DateTime”。路径,第5行,位置2


我想在这里输入出生日期。消息我无法获取此..对于bool或datetime或int,我无法获得任何人的帮助。提前感谢我猜您正在尝试将null分配给DOB。DateTime不可为空,您可以通过如下更改来允许为空:

[Required(ErrorMessage = "please enter dateof birth")]
public DateTime? DOB { get; set; }
这也适用于int?还有布尔?太

假设您使用@Html.CheckBoxFor如何获得bool的验证错误true和false都是有效的。至于DateTime属性-显示相关代码。