在我正在开发的应用程序中,我使用了 ASP.NET Web 表单提供的验证控件,并且对于表单的某些部分我使用了 JavaScript。
验证的两个方面都按其应有的方式工作,但是,当我单击“提交”按钮时,首先出现的是 ASP.NET 验证,然后是我用 JavaScript 进行的自定义验证。因此,当表单不完整并提交时,仅显示 ASP.NET 验证错误,而当更正这些错误并提交表单时,则会显示我的验证错误。
我想要的是,当用户单击“提交”按钮时,ASP.NET 验证和我的 JavaScript 验证同时发生,以便用户可以立即看到所有错误。
<form id="StudentLSFApplication" runat="server" onsubmit="return validateForm()">
<!--other html code-->
<asp:Button ID="SaveLSFApplication" runat="server" Text="Save Application" OnClick="saveApplication"
ValidationGroup="AllValidation" />
</form>
<script>
function validateForm() {
//my validation
}
</script>
正如您从我的示例代码中看到的,我在 onsubmit
事件中调用了 JavaScript 函数 validateForm()
,并且 Button
控件是 AllValidation
验证组的一部分。目前,在表单提交时,首先发生 AllValidation
,当一切正常时,然后发生 validateForm()
。
最佳答案
我认为您正在寻找的是 CustomValidator。您可以像这样使用它:
<script type="text/javascript">
function validateFormElement(sender, args) {
if (args.Value == "waarde") {
args.IsValid = true;
} else {
args.IsValid = false;
}
}
</script>
<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="myValidation"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Input error" ValidationGroup="myValidation" ClientValidationFunction="validateFormElement" ControlToValidate="TextBox1"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myValidation" />
您仍然可以使用所有其他验证器。无需将您想要的每一项验证都塞进一个 JavaScript 函数中。
关于javascript - ASP.NET WebForms - 同时执行 JavaScript 验证和验证控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38767774/