<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0-preview.3.20214.6" />

StringValidator

Provides validation of a string.
namespace System.Configuration { public class StringValidator : ConfigurationValidatorBase { private readonly string _invalidChars; private readonly int _maxLength; private readonly int _minLength; public StringValidator(int minLength) : this(minLength, 2147483647, null) { } public StringValidator(int minLength, int maxLength) : this(minLength, maxLength, null) { } public StringValidator(int minLength, int maxLength, string invalidCharacters) { _minLength = minLength; _maxLength = maxLength; _invalidChars = invalidCharacters; } public override bool CanValidate(Type type) { return type == typeof(string); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(string)); string text = value as string; int num = text?.Length ?? 0; if (num < _minLength) throw new ArgumentException(System.SR.Format(System.SR.Validator_string_min_length, _minLength)); if (num > _maxLength) throw new ArgumentException(System.SR.Format(System.SR.Validator_string_max_length, _maxLength)); if (num > 0 && !string.IsNullOrEmpty(_invalidChars)) { char[] array = new char[_invalidChars.Length]; _invalidChars.CopyTo(0, array, 0, _invalidChars.Length); if (text.IndexOfAny(array) != -1) throw new ArgumentException(System.SR.Format(System.SR.Validator_string_invalid_chars, _invalidChars)); } } } }