如何在视图上显示fluentvalidation错误消息

时间:2017-01-27 15:00:50

标签: c# asp.net-mvc fluentvalidation

我是一个流利的验证员,如下所示

[Validator(typeof(testvalidator))]
public class test
{
   .....
}

 public class testvalidator: AbstractValidator<test>
 {
     public testvalidator()
     {
        Custom(testvalidationmethod);
     }
     public ValidationFailure testvalidationmethod(test t)
     {
        return ValidationFailure("","error occurred in test validation method ");

     }

 } 

用法

  testvalidator tv = new testvalidator();
  var result =tv.(test); 

我可以在result.Errors中看到错误消息。但我想在视图上显示错误消息。我使用Html.ValidationSummary()true尝试了false。但是没有用。需要做什么才能在视图上显示?我在看tutorial。但它显示了如何在console上显示,这在实际应用中几乎不需要。我如何使它工作?

1 个答案:

答案 0 :(得分:4)

有一个名为AddToModelState的方法,需要调用该方法才能将错误添加到ModelState。之后,错误开始出现在视图中。

用法

public ActionResult DoSomething() {
  var customer = new Customer();
  var validator = new CustomerValidator();
  var results = validator.Validate(customer);

 results.AddToModelState(ModelState, null);
 return View();
}

以上来源fluentvalidation on github。查看手动验证。