使用DataAnnotations 4.0

Dav*_*ing 5 .net validation asp.net-mvc data-annotations

我正在使用带有MVC应用程序的DA 4.0并创建了一个自定义验证器,如下所示:

public static ValidationResult NumberOfItems(int numItems, ValidationContext pValidationContext)
{
    if (numItems == 1)
    {
        //Tag as critical error
        //return new ValidationResult... 
    }

    if (numItems > 1 && numItems <= 10)
    {
        //Tag as non critical error
    }

    //Else it's successful
    return ValidationResult.Success;
}
Run Code Online (Sandbox Code Playgroud)

我想将错误消息标记为严重错误.如果它不是一个严重的错误,我想在我的视图中访问它并以不同的方式呈现它.

所以,这有两个部分:

  1. 将失败标记为自定义验证器中的不同类型
  2. 修改默认的ModelBinder以识别严重错误

我该怎么做?

Joh*_*ell 2

你的两个问题都需要重写一大堆 MVC 的内部错误处理代码。我认为没有简单的方法可以将错误严重性添加到发生 ModelState 和 ViewModel 验证的所有不同位置。

“我该怎么做?”的唯一答案。是“有很多自定义代码”。;)