如何验证asp.net C#中单击按钮时的表达式
本文关键字:单击 按钮 表达式 net 何验证 验证 asp | 更新日期: 2023-09-27 17:58:30
我正在制作一个网站,我制作了一个表单字段,如电子邮件字段和与之相关的验证表达式。验证是在文本更改时启动的。但我希望它在"提交"按钮点击事件时执行。我已经搜索过了,但找不到解决问题的方法。请告诉我为什么会发生这种事,我该如何纠正。我是这个网络开发领域的新手,所以需要你们的帮助。
提前感谢!!!
Hamad
您可以禁用在验证器本身中显示错误,而是生成一个验证摘要,只有在单击提交后才会显示。
像这样:
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtEmail" ValidationGroup="vRegister" Display="None" ErrorMessage="Email field cannot be empty"></asp:RequiredFieldValidator>
然后声明一个验证摘要:
<asp:ValidationSummary runat="server" ID="vSummary" ValidationGroup="vRegister" DisplayMode="BulletList" />
您应该做的是将EnableClientScript的值更改为false。然后从你的代码后面调用验证(应该总是这样做,因为用户无论如何都可以禁用他们的客户端验证。安全规则1,永远不要信任客户端)
EnableClientScript:获取或设置一个值,该值指示是否启用了客户端验证。
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvName" runat="server" EnableClientScript="false"
ErrorMessage="*" ControlToValidate="txtName" ></asp:RequiredFieldValidator>
代码背后:
protected void btnSave_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//Do stuff
}
//No need for else, the validations should display accordingly
}
其他资源:http://weblogs.asp.net/rajbk/archive/2007/03/15/page-isvalid-and-validate.aspx
您只是在寻找验证类型控件来验证输入吗?如果是,请查看属性EnableValidation
并将其设置为true。这样做将强制验证文本框,甚至在执行button_Click事件之前。
试试这个:
<asp:TextBox ID="txtName" runat="server" Height="23px"
Width="252px"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvName" runat="server"
ErrorMessage="*" ControlToValidate="txtName"
ValidationGroup="vadd"></asp:RequiredFieldValidator>
按钮本身的"Causes Validation"属性将自动强制页面在触发与按钮按下相关的其余代码之前满足验证规范。
如果我理解你的问题,你需要为aspx页面中的每个验证控件创建一个相同的验证组。您还需要有一个具有相同验证组的验证摘要。至少在aspx页面的提交按钮中,您必须提到相同的验证组。。。