自定义ASP.net MVC中无效日期的错误消息

Dis*_*ile 7 c# asp.net-mvc asp.net-mvc-validation

我有一个日期的ASP.net MVC模型:

public class EditModel
{ 
    [Display(Name="DOB")]
    public DateTime? DateOfBirth { get; set; }
}

@Html.TextBoxFor(m => m.DateOfBirth)
@Html.ValidationMessageFor(m => m.DateOfBirth)
Run Code Online (Sandbox Code Playgroud)

当用户输入无效日期(例如9/31/2011)时,错误消息将返回如下:

The value '9/31/2011' is not valid for DOB.

这是在尝试进行模型绑定时发生的,并不是我的验证之一.有没有办法自定义此错误消息?我希望它是这样的:

Please enter a valid date for the Date of Birth.

我不要求用户输入日期,但是当他们输入INVALID值时,我想自定义错误.

小智 5

您可以使用数据注释来处理错误,或者,在这种情况下,您可以执行以下操作:

@Html.ValidationMessageFor(m => m.DateOfBirth , "Please enter a valid date for the Date of Birth.") 
Run Code Online (Sandbox Code Playgroud)


K.K*_*nan 5

尝试这个,

[DataType(DataType.Date, ErrorMessage = "Please enter a valid date.")]
public System.DateTime DateOfBirth { get; set; }
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助.. :)