CustomValidator.cs 864 B

1234567891011121314151617181920212223242526272829
  1. using System.Collections.Generic;
  2. using System.ComponentModel.DataAnnotations;
  3. using Abp.Dependency;
  4. namespace Abp.Runtime.Validation.Interception
  5. {
  6. public class CustomValidator : IMethodParameterValidator
  7. {
  8. private readonly IIocResolver _iocResolver;
  9. public CustomValidator(IIocResolver iocResolver)
  10. {
  11. _iocResolver = iocResolver;
  12. }
  13. public IReadOnlyList<ValidationResult> Validate(object validatingObject)
  14. {
  15. var validationErrors = new List<ValidationResult>();
  16. if (validatingObject is ICustomValidate customValidateObject)
  17. {
  18. var context = new CustomValidationContext(validationErrors, _iocResolver);
  19. customValidateObject.AddValidationErrors(context);
  20. }
  21. return validationErrors;
  22. }
  23. }
  24. }