javascript - ASP.NET WebForms - 同时执行 JavaScript 验证和验证控制

标签 javascript asp.net webforms

在我正在开发的应用程序中,我使用了 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/

相关文章:

asp.net - IIS 7 中虚拟目录 ASP.NET 网站的配置错误

.net - 是否有一个等效于 .net 的标准 Web 表单(不是 MVC)的 authorizeattribute

javascript - 无论长度如何,将项目添加到列表末尾

javascript - CSS JavaScript 链接

javascript - 带有喜欢和评论选项的评论框代码

c# - 使用 ClientScriptManager 将 JavaScript 添加到页面

c# - ASP.Net WebApi MapHttpRoute 适用于 Visual Studio,但不适用于 WebForm 应用程序中的 IIS

c# - ASP.NET 表单值验证场景

javascript - 在页面模板中使用 Angular ui-router State

javascript -///在 JavaScript 中是什么意思?