自定义ValidationMessageFor和错误类型

时间:2012-10-25 11:56:10

标签: c# validation custom-attributes

有没有办法使用ModelState和模型进行验证,以确定错误的类型?

示例:

[必需]

我想创建一个自定义ValidationMessageFor,并在其中包含错误是[Required]还是其他类型的错误。

我正在使用DataAnnotations和CodeFirst。

具有来自开始实施的代码:

public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
    var Validacao = "";       
    if (helper.ViewData.ModelState[((MemberExpression)expression.Body).Member.Name] != null)
    {   
        foreach (var erros in helper.ViewData.ModelState[((MemberExpression)expression.Body).Member.Name].Errors)
        {
            Validacao = Validacao + " *";
        }
    }            
    return MvcHtmlString.Create(Validacao);
}

TKS

1 个答案:

答案 0 :(得分:1)

任何验证属性都有ErrorMessage属性,您可以使用该属性直接在属性中指定错误消息。例如:

[Required(ErrorMessage = "required error")]
[MaxLength(10, ErrorMessage = "max length error")]