asp.net - 为什么我无法验证其中包含 $ 符号的值?

标签 asp.net

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

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

A decimal data type that can contain currency symbols.

我正在使用下面的控件来验证:

<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"/>

但它仍然说任何带有 $ 的输入都是无效的。我在这里遗漏了什么吗?

最佳答案

该线程中的最后一条评论说明了原因并为您提供了一些想法:

Currency Validator

专门讨论此问题的文章:

ASP.Net: Validating a TextBox with a Dollar Sign (建议使用正则表达式验证器)。

关于asp.net - 为什么我无法验证其中包含 $ 符号的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663190/

相关文章:

c# - groupBy 查询错误

HTML/CSS 布局

Asp.net如何制作2级评论系统

c# - 我可以在我的 aspx 页面和 silverlight 应用程序中共享 session 变量吗?

c# - 如何将 Windows 身份验证凭据从客户端传递到 Web API 服务

javascript - jQuery 和复选框,我看不到变化

c# - 在 Reporting Services 2008 webservice 中调用渲染流时出错

javascript - 将下拉列表更改为其原始状态

c# - 如何创建向数据库提交信息的单页 ASP.NET 应用程序?

c# - 如何在 ASP.NET C# 中将字符串日期转换为 DateTime 形式