protected override void ValidateRead(List <ValidationError> errors) { IEnumerable <ValidationError> enumerable = PatternValidator.ValidateAdAttributePatterns(this.Patterns, base.Name, base.UseLegacyRegex); if (enumerable != null) { errors.AddRange(enumerable); return; } base.ValidateRead(errors); }
internal static IEnumerable <ValidationError> ValidatePatterns(IEnumerable <Pattern> patterns, string supplementalInfo, bool useLegacyRegex) { if (patterns == null) { return(new List <ValidationError> { new RulePhrase.RulePhraseValidationError(Strings.ArgumentNotSet, supplementalInfo) }); } return(PatternValidator.ValidatePatterns(from pattern in patterns select pattern.Value, supplementalInfo, useLegacyRegex)); }
internal static IEnumerable <ValidationError> ValidateAdAttributePatterns(IEnumerable <Pattern> patterns, string supplementalInfo, bool useLegacyRegex) { List <ValidationError> list = new List <ValidationError>(); if (patterns == null || !patterns.Any <Pattern>()) { list.Add(new RulePhrase.RulePhraseValidationError(Strings.ArgumentNotSet, supplementalInfo)); return(list); } foreach (Pattern pattern in patterns) { int num = pattern.Value.IndexOf(':'); if (num >= 0) { string text = pattern.Value.Substring(0, num).Trim().ToLowerInvariant(); if (!TransportUtils.GetDisclaimerMacroLookupTable().ContainsKey(text)) { list.Add(new RulePhrase.RulePhraseValidationError(Strings.InvalidMacroName(text), supplementalInfo)); } else { string text2 = pattern.Value.Substring(num + 1); string[] patterns2 = text2.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); IEnumerable <ValidationError> enumerable = PatternValidator.ValidatePatterns(patterns2, supplementalInfo, useLegacyRegex); if (enumerable != null) { list.AddRange(enumerable); } } } else { list.Add(new RulePhrase.RulePhraseValidationError(Strings.MacroNameNotSpecified(pattern.Value), supplementalInfo)); } } if (!list.Any <ValidationError>()) { return(null); } return(list); }