使用asp.net处理错误消息

使用asp.net处理错误消息,asp.net,validation,Asp.net,Validation,我有一个asp.net页面,有一个服务器端的提交按钮和两个文本框,它们只接受数值。我还使用asp.net验证控件 如果用户在两个文本框中键入非数字数据,如何在页面上仅显示一条错误消息,说明: “只允许使用数值。” 我希望在不触发服务器端事件的情况下实现这一点 谢谢。您可以使用正则表达式验证程序: <asp:RegularExpressionValidator id="RegularExpressionValidator1" ControlToValida

我有一个asp.net页面,有一个服务器端的提交按钮和两个文本框,它们只接受数值。我还使用asp.net验证控件

如果用户在两个文本框中键入非数字数据,如何在页面上仅显示一条错误消息,说明: “只允许使用数值。” 我希望在不触发服务器端事件的情况下实现这一点


谢谢。

您可以使用正则表达式验证程序:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
                 ControlToValidate="TextBox1"
                 ValidationExpression="\d"
                 Display="Static"
                 ErrorMessage="Only numeric values are allowed."
                 EnableClientScript="True" 
                 runat="server"/>

您可以使用正则表达式验证程序:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
                 ControlToValidate="TextBox1"
                 ValidationExpression="\d"
                 Display="Static"
                 ErrorMessage="Only numeric values are allowed."
                 EnableClientScript="True" 
                 runat="server"/>


您可以使用上面的\d正则表达式使用jquery验证。使用jquery可以更好地控制输出

您可以使用上面的\d正则表达式使用jquery验证。使用jquery可以更好地控制输出

如果您只需要一条错误消息,我建议您使用自定义验证器。您必须编写自己的服务器和客户端验证函数,但这很容易。以下是一个链接:

您也可以使用比较验证器,但随后每个控件都必须有一个验证器,并且会导致两条错误消息


如果您只需要一条错误消息,我建议您使用自定义验证器。您必须编写自己的服务器和客户端验证函数,但这很容易。以下是一个链接:

您也可以使用比较验证器,但随后每个控件都必须有一个验证器,并且会导致两条错误消息


很显然,您需要使用javascript来实现这一点

我不知道检查输入是否为数字的确切javascript方法,我猜您可以使用正则表达式。但是你可以有一个隐藏的div,比如

<div id="numericErrorMessage" class="error" style="display:none;">
        Numeric Values only.
</div>

当然,这是“伪密码”,但我认为,一旦你找到javascript检查有效数字的方法,并将其放在IsNumber函数中,这将对你有用。显然,你需要用javascript来完成这项工作

我不知道检查输入是否为数字的确切javascript方法,我猜您可以使用正则表达式。但是你可以有一个隐藏的div,比如

<div id="numericErrorMessage" class="error" style="display:none;">
        Numeric Values only.
</div>

当然,这是“伪密码”,但我认为,一旦你找到javascript检查有效数字的方法,并将其放在IsNumber函数中,这将对你有用。

谢谢……但是如果我将RegularExpressionValidator附加到每个文本框,并且如果用户在这两个文本框中键入非数值,然后错误信息会显示两次,我不想在页面上显示。我只想显示一次错误信息。你说得对。我对Jack的答案投了赞成票,因为他的答案满足要求。谢谢……但是如果我将RegularExpressionValidator附加到每个文本框,并且如果用户在两个文本框中都键入了非数值,那么错误消息将显示两次,我不想在页面上显示。我只想显示一次错误消息。你是对的。我对Jack的答案进行了投票,因为他的答案满足要求。谢谢…这个解决方案能在safari、firefox、ie浏览器中使用吗?我猜它会,doc.getelemntbyid是相当标准的。谢谢…这个解决方案能在safari、firefox、ie浏览器中使用吗?我猜它会,doc.getelemntbyid是相当标准的。