自定义错误消息不适用于 asp net mvc 3 中的日期时间验证

2024-01-12

我有一个带有 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(使用前将#替换为@)

自定义错误消息不适用于 asp net mvc 3 中的日期时间验证 的相关文章

随机推荐