RegularExpressionValidator doesn't detect empty strings
<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>
