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
   }