EnumOfAttribute.cs 589 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using System.ComponentModel.DataAnnotations;
  3. namespace Masuit.Tools.Core.Validator;
  4. /// <summary>
  5. /// 枚举值校验
  6. /// </summary>
  7. public class EnumOfAttribute : ValidationAttribute
  8. {
  9. private Type Type { get; set; }
  10. /// <summary>
  11. /// 枚举类型
  12. /// </summary>
  13. /// <param name="value"></param>
  14. public EnumOfAttribute(Type value)
  15. {
  16. Type = value;
  17. }
  18. public override bool IsValid(object value)
  19. {
  20. if (value is null)
  21. {
  22. return true;
  23. }
  24. return Enum.IsDefined(Type, value);
  25. }
  26. }