我有一个带有 String 属性和以下数据注释的 ViewModel :
编辑以使用字符串
[DataType(DataType.Date, ErrorMessage="Not Working !!!")]
public String StringBirthDate1 { get; set; }
这就是我的看法
@Html.EditorFor(model => model.StringBirthDate1 )
@Html.ValidationMessageFor(model => model.StringBirthDate1)
如果我运行我的应用程序并输入一个无效的日期,如“---”或 29.02.1900,我不会收到任何验证错误!
好吧,我已经放弃尝试使用内置 MVC 工具进行数据验证了!
我做了一个自定义验证属性:
public class ValidDateStringAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dtout;
if (DateTime.TryParse(value.ToString(), out dtout ))
{
return true;
}
return false;
}
}
这是我的视图模型,用自定义属性装饰:
[ValidDateString(ErrorMessage="Invalid date format")]
public String BirthDate1 { get; set; }
奇迹般有效 :-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)