RegexStringValidator
Provides validation of a string based on the rules provided by a regular expression.
using System.Text.RegularExpressions;
namespace System.Configuration
{
public class RegexStringValidator : ConfigurationValidatorBase
{
private readonly string _expression;
private readonly Regex _regex;
public RegexStringValidator(string regex)
{
if (string.IsNullOrEmpty(regex))
throw ExceptionUtil.ParameterNullOrEmpty("regex");
_expression = regex;
_regex = new Regex(regex, RegexOptions.Compiled);
}
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;
if (text != null && !_regex.IsMatch(text))
throw new ArgumentException(System.SR.Format(System.SR.Regex_validator_error, _expression));
}
}
}