C# 如何在asp.net C中验证按钮单击时的表达式#
我正在制作一个网站,我已经制作了一个表单字段,如电子邮件字段和与之相关的验证表达式。文本更改时启动验证。但我希望它不会在“提交”按钮点击事件中执行。 我已经搜索过了,但找不到解决我问题的方法。请告诉我为什么会发生这种情况,我如何才能使它正确。我是这个网络开发领域的新手,所以需要你们的帮助 提前感谢C# 如何在asp.net C中验证按钮单击时的表达式#,c#,asp.net,html,C#,Asp.net,Html,我正在制作一个网站,我已经制作了一个表单字段,如电子邮件字段和与之相关的验证表达式。文本更改时启动验证。但我希望它不会在“提交”按钮点击事件中执行。 我已经搜索过了,但找不到解决我问题的方法。请告诉我为什么会发生这种情况,我如何才能使它正确。我是这个网络开发领域的新手,所以需要你们的帮助 提前感谢 Hamad您只是在寻找验证类型控件来验证输入吗? 如果是,请查看属性EnableValidation,并将其设置为true。这样做将在按钮单击事件可以执行之前强制验证文本框。您可以禁用在验证程序本身中
Hamad您只是在寻找验证类型控件来验证输入吗?
如果是,请查看属性
EnableValidation
,并将其设置为true。这样做将在按钮单击事件可以执行之前强制验证文本框。您可以禁用在验证程序本身中显示错误,而只在单击提交后显示验证摘要
像这样:
<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" />
试试这个:
<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>
您应该做的是将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>
其他资源:按钮本身上的“原因验证”属性将自动强制您的页面满足验证规范,然后再触发与按钮按下相关的其余代码。如果我理解了您的问题,您需要为aspx页面中的每个验证控件创建相同的验证组。您还需要具有具有相同验证组的验证摘要。至少在aspx页面的提交按钮中,你必须提到同一个验证组…我认为这不是他的要求,验证人在文本更改时进行验证,他询问如何不进行验证,并在提交时进行验证。这是真正的答案。为我工作。谢谢
protected void btnSave_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//Do stuff
}
//No need for else, the validations should display accordingly
}