2010-09-07 55 views
3

我正在使用CompareValidator来检查我的某个表单上的用户输入,但由于某种原因它不会允许我输入美元符号。

According to MSDN在比较验证货币数据类型允许:

的十进制数据类型,可以包含 货币符号。

我用下面的控件来验证:

<asp:CompareValidator ID="vld_Cash" runat="server" ControlToValidate="CashTextBox" Type="Currency" Operator="DataTypeCheck" ValidationGroup="vld_Update" ErrorMessage="The value entered for 'Cash' must be in a number format. Do NOT include dollar signs. Examples: 500 or 500.00" /> 

我还添加以下到我的web.config只是可以肯定的:

<globalization culture="en-US" uiCulture="en-US"/> 

但它仍然表示,任何输入与$在它是无效的。我在这里错过了什么吗?

+1

+1好问题。不知道谁降低了这个问题,但我可以在.NET 4.0 – 2010-09-07 22:25:43

+1

中的新Webforms应用程序中确认相同的行为我搜索了Connect,并且没有针对CompareValidator和货币提交的缺陷。也许你自己申请一个信誉+尊重? :) – 2010-09-07 23:03:04

+0

好主意,你可以说我知道我之前知道我); https://connect.microsoft.com/VisualStudio/feedback/details/595932/comparevalidator-does-not-allow-currency-to-have-其中的符号 – 2010-09-07 23:41:30

回答

0

在此线程的最后注释说明原因,并给你一些想法:

Currency Validator

的文章献给这个:

ASP.Net: Validating a TextBox with a Dollar Sign(建议使用的RegularExpressionValidator)。

+0

的确,这些是一些解决方法,但MSDN文档甚至会说“可以包含货币符号的十进制数据类型”。确实。文档或实现都是错误的。也许连接有详细信息... – 2010-09-07 22:27:27

+0

MSDN文档有时包含错误... :)这是MSDN错误或验证程序的底层代码是越野车。 – 2010-09-07 22:28:26

+0

@ p.campbell的评论如何出现在我的面前? StackOverflow错误? @Abe Miessler之前曾评论过,但删除了他的评论。也许这导致了这种行为。 – 2010-09-07 22:34:10

相关问题