我有一个带日期的ASP.net MVC模型:
public class EditModel
{
[Display(Name="DOB")]
public DateTime? DateOfBirth { get; set; }
}
@Html.TextBoxFor(m => m.DateOfBirth)
@Html.ValidationMessageFor(m => m.DateOfBirth)
当用户输入无效日期(例如9/31/2011)时,错误消息将返回:
The value '9/31/2011' is not valid for DOB.
当它尝试进行模型绑定并且不是我的验证之一时会发生这种情况。有没有办法自定义此错误消息?我希望它是这样的:
Please enter a valid date for the Date of Birth.
我不要求用户输入日期,但是当他们输入INVALID值时,我想自定义错误。
答案 0 :(得分:5)
您可以使用数据注释来处理错误,或者,在这种情况下,您可以执行此操作:
@Html.ValidationMessageFor(m => m.DateOfBirth , "Please enter a valid date for the Date of Birth.")
答案 1 :(得分:3)
试试这个,
[DataType(DataType.Date, ErrorMessage = "Please enter a valid date.")]
public System.DateTime DateOfBirth { get; set; }
希望这会对你有所帮助.. :)
答案 2 :(得分:1)
public class myClass()
{
[Display(Name="Date of Birth"), DataType(DataType.Date, ErrorMessage = "Please enter a valid date for the Date of Birth.")]
public string dateOfBirth { get; set; }
}
答案 3 :(得分:0)
我的数据类型错误消息不起作用 使用常规
删除[Display(Name="Date of Birth")]
[RegularExpression(@"^(3[01]|[12][0-9]|0[1-9])[-/](1[0-2]|0[1-9])[-/][0-9]{4}$", ErrorMessageResourceName = "DateNotValid", ErrorMessageResourceType = typeof(Resources))]
public string dateOfBirth { get; set; }
DateNotValid:正在资源文件中使用。如果需要,您可以更改为错误消息 上面的格式为:dd-MM-YYYYY