У меня есть модель с рядом правил проверки, все из которых работают нормально, за исключением одной, предназначенной для проверки почтового индекса. Правило / свойство определяется следующим образом:
[Required(ErrorMessage="Postcode is required")]
[StringLength(20, ErrorMessage="Postcode must be under 20 characters")]
[RegularExpression(@"[A-Za-z]{1,2}[0-9R][0-9A-Z]?[ ]?[0-9][A-Za-z-[CIKMOVcikmov]]{2}", ErrorMessage="Postcode is not valid")]
public string Postcode { get; set; }
Каждый раз, когда почтовый индекс не проходит проверку RegEx, даже при использовании того же RegEx в онлайн-тестере (например, http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx) проходит. Вот пара примеров британских почтовых кодов, которые должны пройти: IP4 4DL и bn35fb