如何从自定义验证器访问 ModelState 以添加错误?
class CustomValidator : ValidationAttribute
{
public override bool IsValid(object value)
{
//access modelstate
}
}
如何从自定义验证器访问 ModelState 以添加错误?
class CustomValidator : ValidationAttribute
{
public override bool IsValid(object value)
{
//access modelstate
}
}
好吧,bool IsValid
当返回 false 时,该方法只会在 ModelState 中添加一个错误。您不必直接管理 ModelState。
如果您想要自定义消息,可以在 ctor 上进行。
如果你想要更多的控制,你可以覆盖ValidationResult IsValid(
Object value,
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);
}
}