When you validate the Currency data or the Double data in an ASP.NET application by using the RangeValidator control or the
CompareValidator control, and the data has a decimal point at the beginning or at the end, you receive the error message as mentioned in the
ErrorMessage property of the Validator control.
↑ Back to the top
This problem occurs because RangeValidator and CompareValidator do not recognize input data of type Currency if the data has a decimal point at the beginning or at the end (for example, 25. or .25). Also, when input data has a decimal point at the end (for example, 25.), RangeValidator and CompareValidator do not recognize it as
valid input data of type Double.
↑ Back to the top
Microsoft has confirmed that this is a bug in the Microsoft products that are
listed at the beginning of this article.
↑ Back to the top
Steps to Reproduce the Behavior
- In Microsoft Visual Studio .NET, create a new ASP.NET Web
Application project by using Visual Basic .NET or Visual C# .NET. By default,
WebForm1.aspx is created.
- Right-click WebForm1.aspx, and then click
View HTML. Replace the existing code with the following sample code
to add a TextBox control, a RangeValidator control, and a CompareValidator control:
<%@ Page %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm2</title>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="WebForm2" method="post" runat="server">
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox><br>
<asp:RangeValidator id="RangeValidator1" runat="server" ErrorMessage="Double-RangeValidator" ControlToValidate="TextBox1" Type="Double" MaximumValue="233" MinimumValue="0"></asp:RangeValidator>
<asp:CompareValidator id="CompareValidator1" runat="server" ErrorMessage="Double-CompareValidator" ControlToValidate="TextBox1" Operator="GreaterThan" Type="Double" ValueToCompare="0"></asp:CompareValidator><br>
<asp:RangeValidator id="RangeValidator2" runat="server" ErrorMessage="Currency-RangeValidator" ControlToValidate="TextBox1" Type="Currency" MaximumValue="244" MinimumValue="0"></asp:RangeValidator>
<asp:CompareValidator id="CompareValidator2" runat="server" ErrorMessage="Curency-CompareValidator" ControlToValidate="TextBox1" Operator="GreaterThanEqual" Type="Currency" ValueToCompare="0"></asp:CompareValidator><br>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</form>
</body>
</HTML>
- On the Debug menu, click
Start to run the application.
- Type 25. in the text box, and then click Button. Verify that the
validation error messages occurred for data types Double and
Currency.
- Type .24 in the text box, and then click Button. Verify that the
validation error messages occurred for the Currency data type.
↑ Back to the top
For more information about individual validation controls
that are available in ASP.NET, visit the following Microsoft Web
sites:
For additional
information, click the following article number to view the article in the
Microsoft Knowledge Base:
306459�
INFO: ASP.NET Server Controls Overview
↑ Back to the top