Мы управляем несколькими веб-сайтами клиента ASP.NET MVC, которые используют аннотацию данных, например, для проверки адресов электронной почты клиента (я не включал здесь регулярное выражение для удобочитаемости):
[Required(ErrorMessage="Email is required")]
[RegularExpression(@"MYREGEX", ErrorMessage = "Email address is not valid")]
public string Email { get; set; }
То, что я хотел бы сделать, - это централизовать это регулярное выражение, чтобы, если мы вносим в него изменения, все сайты сразу же его подбирают, и нам не нужно вручную изменять их в каждом из них.
Проблема заключается в том, что аргумент regex аннотации данных должен быть константой, поэтому я не могу назначить значение, которое я получил из файла конфигурации или базы данных во время выполнения (что было моей первой мыслью).
Может ли кто-нибудь помочь мне с умным решением этого или, если это не так, альтернативным подходом, который будет работать для достижения той же цели? Или это просто требует от нас написать специальный атрибут проверки специалиста, который будет принимать непостоянные значения?