Required Field Validator is not working before postback
我的问题似乎很奇怪,但是我没有找到合适的解决方案。
在我的应用程序中,我有一些asp文本框和必需的字段验证器。除此之外,我还有一个按钮。我的目的是在提交表单之前执行页面验证。但是,当我单击按钮时,requiredfieldvalidator不会显示任何错误。而是页面正在提交到服务器。
以下是我的aspx页面代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | </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> <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" /> |
我已经按如下方式放置了本地JavaScript:
1 2 3 4 5 6 7 8 9 10 | function validatePage() { if (Page_ClientValidate()) { alert("Valid Page"); return true; } else { alert("Not a valid Page"); return false; } } |
但是,当我单击使文本框为空的按钮时,它将向服务器提交表单。
请为我提供适当的解决方案。
您的按钮具有
或者您可以将其完全删除,因为它应该默认为true。
通常来说,仅在不尝试提交页面时才应将其设置为false,例如,如果您具有将保存部分填写的表单的
让以下两种方法:
第一种方法:使用javascript触发验证,以下代码起作用
1 2 | <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);"/> |
第二种方法:在btn_physicaltherapy_Click事件上使用背后的代码,然后在处理数据之前放置以下内容
1 2 | Page.Validate("PhysTherapyAdd"); if(!Page.IsValid) return; |