public static void Email <T>(this IRuleBuilderInitial <T, string> field)
        {
            const string emailRegex = @"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-||_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+([a-z]+|\d|-|\.{0,1}|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])?([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$";

            field
            .Matches(emailRegex, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture)
            .WithMessage("Enter an email address in the correct format");
        }
Example #2
0
 public static void ValidateEmail <T>(IRuleBuilderInitial <T, string> ruleBuilder)
 {
     ruleBuilder
     .Matches(EmailPattern)
     .WithMessage(x => $"Email format error.  Exspression: '{EmailPattern}'.");
 }
Example #3
0
 public static void ValidateZipCode <T>(IRuleBuilderInitial <T, string> ruleBuilder)
 {
     ruleBuilder
     .Matches(ZipCodePattern)
     .WithMessage(x => $"ZipCode format error'.  Exspression: '{ZipCodePattern}'.");
 }
Example #4
0
 public static void ValidatePhoneNumber <T>(IRuleBuilderInitial <T, string> ruleBuilder)
 {
     ruleBuilder.Matches(PhonePattern)
     .WithMessage(x => $"Phone number format error. Exspression: '{PhonePattern}'.");
 }