IsEmailAttribute.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //using System;
  2. //using System.ComponentModel.DataAnnotations;
  3. //using System.Linq;
  4. //using Masuit.Tools.Core.Config;
  5. //using Microsoft.Extensions.Configuration;
  6. //using Microsoft.Extensions.DependencyInjection;
  7. //namespace Masuit.Tools.Core.Validator
  8. //{
  9. // /// <summary>
  10. // /// 邮箱校验
  11. // /// </summary>
  12. // public class IsEmailAttribute : ValidationAttribute
  13. // {
  14. // private readonly bool _valid;
  15. // public static string EmailAllowKeywordsList;
  16. // /// <summary>
  17. // /// 域白名单
  18. // /// </summary>
  19. // private string DomainWhiteList { get; }
  20. // /// <summary>
  21. // /// 可在appsetting.json中添加EmailDomainWhiteList配置邮箱域名白名单,逗号分隔
  22. // /// </summary>
  23. // /// <param name="valid">是否检查邮箱的有效性</param>
  24. // public IsEmailAttribute(bool valid = true)
  25. // {
  26. // this.DomainWhiteList = CoreConfig.Configuration["EmailDomainWhiteList"] ?? "";
  27. // this._valid = valid;
  28. // }
  29. // /// <summary>
  30. // /// 邮箱校验
  31. // /// </summary>
  32. // /// <param name="value"></param>
  33. // /// <returns></returns>
  34. // public override bool IsValid(object value)
  35. // {
  36. // if (value == null)
  37. // {
  38. // this.ErrorMessage = "邮箱不能为空!";
  39. // return false;
  40. // }
  41. // string email = value as string;
  42. // if (email.Length <= 10)
  43. // {
  44. // this.ErrorMessage = "您输入的邮箱格式不正确!";
  45. // return false;
  46. // }
  47. // if (email.Length > 256)
  48. // {
  49. // this.ErrorMessage = "邮箱长度最大允许255个字符!";
  50. // return false;
  51. // }
  52. // if (this.DomainWhiteList.Split(',', StringSplitOptions.RemoveEmptyEntries).Any(item => email.EndsWith("@" + item)))
  53. // {
  54. // return true;
  55. // }
  56. // if (email.MatchEmail(this._valid).isMatch)
  57. // {
  58. // return true;
  59. // }
  60. // this.ErrorMessage = "您输入的邮箱格式不正确!";
  61. // return false;
  62. // }
  63. // }
  64. // public static class TestEE
  65. // {
  66. // public static IServiceCollection ConfigMasuitTools(IServiceCollection services, Action<MasuitToolOption> option)
  67. // {
  68. // MasuitToolOption opt = new MasuitToolOption();
  69. // option?.Invoke(opt);
  70. // IsEmailAttribute.EmailAllowKeywordsList = opt.EmailAllowKeywordsList;
  71. // return services;
  72. // }
  73. // public static IServiceCollection ConfigMasuitTools(IServiceCollection services, IConfiguration configuration)
  74. // {
  75. // IsEmailAttribute.EmailAllowKeywordsList = configuration["EmailAllowKeywordsList"] ?? "";
  76. // return services;
  77. // }
  78. // }
  79. // public class MasuitToolOption
  80. // {
  81. // /// <summary>
  82. // /// 邮件地址关键字白名单
  83. // /// </summary>
  84. // public string EmailAllowKeywordsList { get; set; }
  85. // }
  86. //}