【发布时间】:2015-05-31 14:42:00
【问题描述】:
我的问题似乎很奇怪,但我没有找到合适的解决方案。
在我的应用程序中,我有一些 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" />
我放了一个本地的 JavaScript 如下:
function validatePage() {
if (Page_ClientValidate()) {
alert("Valid Page");
return true;
}
else {
alert("Not a valid Page");
return false;
}
}
但是当我点击按钮让我的文本框为空时,它会将表单提交到服务器。
请给我正确的解决方案。
【问题讨论】:
-
您尝试从哪里调用 validatePage() 函数?
-
您需要在提交按钮上将 CauseValidation 属性设置为 true,这意味着页面需要在发布到服务器之前进行验证。
-
即使我将 CauseValidation 设置为 True,它也不起作用......我正在调用 validatePage() 函数 OnClientClick 事件。但是没有用。
-
查看您的保存按钮,我看不到您在哪里调用 OnClientClick 事件,我希望看到类似 OnClientClick="if (Page_ClientValidate() == false) return(false); "
-
不,@Bayeni 即使将 OnClientClick 事件放在按钮中,它也无法正常工作。
标签: javascript c# jquery asp.net validation