0

有什么方法可以使用 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

4

1 回答 1

1

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

[Required(ErrorMessage = "required error")]
[MaxLength(10, ErrorMessage = "max length error")]
于 2012-10-25T12:04:00.647 回答