Javascript 回发之前,必需的字段验证器不工作

Javascript 回发之前,必需的字段验证器不工作,javascript,c#,jquery,asp.net,validation,Javascript,C#,Jquery,Asp.net,Validation,我的问题似乎很奇怪,但我没有找到合适的解决办法。 在我的应用程序中,我有一些asp文本框和必需的字段验证器。除此之外,我还有一个按钮。我的目的是在表单提交之前执行页面验证。但是当我点击按钮时,requiredfieldvalidator没有显示任何错误。相反,页面正在提交到服务器。 以下是我的aspx页面代码: <asp:TextBox runat="server" ID="txtPhysicalTherapyTherapist1" CssClass="txt-field"><


我的问题似乎很奇怪,但我没有找到合适的解决办法。
在我的应用程序中,我有一些asp文本框和必需的字段验证器。除此之外,我还有一个按钮。
我的目的是在表单提交之前执行页面验证。但是当我点击按钮时,requiredfieldvalidator没有显示任何错误。相反,页面正在提交到服务器。
以下是我的aspx页面代码:

<asp:TextBox runat="server" ID="txtPhysicalTherapyTherapist1"  CssClass="txt-field"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator19" runat="server" ControlToValidate="txtPhysicalTherapyTherapist1"
ErrorMessage="this is required" ForeColor="Red"
ValidationGroup="PhysTherapyAdd" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>

<asp:TextBox runat="server" ID="txtPhysicalTherapyFrequency1"  CssClass="txt-field"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator18" runat="server" ControlToValidate="txtPhysicalTherapyFrequency1"
ErrorMessage="Frequency is required" ForeColor="Red"
ValidationGroup="PhysTherapyAdd" Display="Dynamic" SetFocusOnError="True"></asp:RequiredFieldValidator>

<asp:Button ValidationGroup="PhysTherapyAdd" ID="btn_physicaltherapy"
runat="server" Style="width: 80px;" CssClass="tabs" CausesValidation="false" Text="Save"
OnClick="btn_physicaltherapy_Click" />

但当我单击按钮使文本框保持为空时,它将表单提交到服务器


请为我提供正确的解决方案。

您的按钮有
CausesValidation=“false”
这将阻止对表单进行任何验证。尝试将其设置为
CausesValidation=“true”

或者您可以完全删除它,因为它应该默认为true


一般来说,只有在您不尝试提交页面时,才应将其设置为false,例如,如果您有一个
保存
功能来保存部分完成的表单,或者如果您正在使用
异步检索数据,请采用以下两种方法:

第一种方法:使用javascript触发验证,下面的代码可以工作

<asp:Button ValidationGroup="PhysTherapyAdd" ID="btn_physicaltherapy"
runat="server" Style="width: 80px;" CssClass="tabs" CausesValidation="false" Text="Save" OnClick="btn_physicaltherapy_Click" OnClientClick="if (validatePage() == false) return(false);"/>

从您试图调用validatePage()函数的位置开始?您需要在“提交”按钮上将CauseValidation属性设置为true,这意味着在发布到服务器之前需要对页面进行验证。即使我将CauseValidation设置为true,它也无法工作。。。我在客户端单击事件上调用validatePage()函数。但是没有用。看着你的保存按钮,我看不出你在哪里调用OnClientClick事件,我希望看到类似OnClientClick=“if(Page_ClientValidate()==false)return(false);“No@Bayeni即使在将OnClientClick事件放入按钮后它也不起作用。这是在评论中建议的,5分钟前:)True,但我在看到之前就已经开始打字了it@Bayeni-在这种情况下,您可以将其作为答案发布;)
<asp:Button ValidationGroup="PhysTherapyAdd" ID="btn_physicaltherapy"
runat="server" Style="width: 80px;" CssClass="tabs" CausesValidation="false" Text="Save" OnClick="btn_physicaltherapy_Click" OnClientClick="if (validatePage() == false) return(false);"/>
Page.Validate("PhysTherapyAdd");
if(!Page.IsValid) return;