在Asp Mvc版本中,可以使用IValidatableObject接口在IsValid方法上获取IEnumerable。
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
// yield collection of validation results here
}
但在 Asp Core 版本中,我们打算使用 ValidationAttribute 来实现自定义验证。但是,可用方法仅返回单个验证结果。
protected override ValidationResult IsValid(object value, ValidationContext validationContext) {
// custom validation
}
如果我们需要在单个事件中抛出多个验证结果怎么办?
IValidatableObject.Validate(ValidationContext)
方法仍返回IEnumerable<ValidationResult>
。API 中没有变化。下面是 API 文档。