在我正在开发的应用程序中,我使用ASP.NET Web Forms提供的Validation控件以及我正在使用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>
从我的示例代码中可以看出,我在validateForm()
事件中调用了JavaScript函数onsubmit
,并且Button
控件是AllValidation
验证的一部分组。目前,在表单提交时,AllValidation
首先出现,如果可以,则validateForm()
发生。
答案 0 :(得分:3)
我认为您正在寻找的是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函数中。