title: RegularExpressionValidator doesn't detect empty strings
body: <p>I have the following regex set as the <code>ValidationExpression</code> property on a RegularExpressionValidator in a web form.  When I enter an illegal character in the validated control, the validator detects it and shows an error message.  </p>
  
  <pre><code>&lt;appSettings&gt;
    &lt;add key="categoryPattern" value="^[a-zA-Z0-9_+\-() ]{1,50}$" /&gt;
  &lt;/appSettings&gt;
  </code></pre>
  
  <p>My validator:</p>
  
  <pre><code>&lt;asp:RegularExpressionValidator ValidationExpression="&lt;%$ AppSettings:categoryPattern %&gt;"
  </code></pre>
  
  <p>My server side validation:</p>
  
  <pre><code>Regex rex = new Regex(ConfigurationManager.AppSettings["categoryPattern"]);
  if (!rex.Match(categoryName).Success)
  {
      throw new ArgumentException("CategoryName must match expression: " + rex);
  </code></pre>
  
  <p>As you can see, exactly the same pattern is applied client side and server side.</p>
  
  <p>However, when I clear the validated control and submit an empty string, the validator thinks it's OK, and I get an error from my server side validation.  Anyone know what is wrong here, except for the broken contract of the RegularExpressionValidator?</p>