CompareValidator does not allow thousands separator - is this a bug or by design?
<p>Minimal, Complete, and Verifiable example (Framework 3.5):</p>

<pre><code>&lt;%@ Page Language="C#" Culture="en-US" %&gt;

&lt;!DOCTYPE html&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;body&gt;
    &lt;form id="form1" runat="server"&gt;
        &lt;asp:TextBox ID="txt" runat="server" /&gt;
        &lt;asp:CompareValidator runat="server" ControlToValidate="txt" Operator="DataTypeCheck" Type="Double" Text="This is not a double." /&gt;
        &lt;asp:Button runat="server" Text="Do Postback" /&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre>

<p>Enter <code>1,234.0</code> in the text box and hit TAB.</p>

<p>Expected result: Nothing.<br>
Actual result: <code>This is not a double.</code></p>

<p>Why do I expect the comparison to succeed: Because <a href="https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.comparevalidator.operator(v=vs.110).aspx" rel="nofollow">the documentation says</a>: <em>"Validation fails if the value cannot be converted to the specified data type."</em>, but <code>Convert.ToDouble("1,234.0", CultureInfo.GetCultureInfo("en-US"))</code> <a href="https://dotnetfiddle.net/qUOVBa" rel="nofollow">succeeds</a>.</p>

<p>My question:</p>

<p><strong>Is this a bug</strong> (which I should report to Microsoft Connect) <strong>or did I miss some part of the documentation where it says that CompareValidator uses different conversion rules than the remainder of the .NET framework?</strong></p>