Asp.net mvc 从自定义验证器访问ModelState

Asp.net mvc 从自定义验证器访问ModelState,asp.net-mvc,validation,modelstate,Asp.net Mvc,Validation,Modelstate,如何从自定义验证器访问ModelState以添加错误 class CustomValidator : ValidationAttribute { public override bool IsValid(object value) { //access modelstate } } 当返回false时,boolisvalid方法只会在ModelState中添加一个错误。您不必直接管理ModelState 如果需要自定义消息,可以在ctor上执行 如果需要

如何从自定义验证器访问ModelState以添加错误

class CustomValidator : ValidationAttribute
{

    public override bool IsValid(object value)
    {
       //access modelstate
    }
}

当返回false时,
boolisvalid
方法只会在ModelState中添加一个错误。您不必直接管理ModelState

如果需要自定义消息,可以在ctor上执行

如果需要更多控制,可以覆盖
ValidationResult IsValid(
对象值,
ValidationContext ValidationContext
)

class CustomValidator : ValidationAttribute
{
    //custom message in ctor
    public CustomValidator() : base("My custom message") {}
    public override bool IsValid(object value)
    {
       return true;
    }
    //return a overriden ValidationResult
    protected override ValidationResult IsValid(
    Object value,
    ValidationContext validationContext) {

      var message = "ohoh";
      return new ValidationResult(message);
   }


}