簡體   English   中英

ASP.NET WebForms - 同時執行JavaScript驗證和驗證控制

[英]ASP.NET WebForms - Execute JavaScript validation and Validation Control at the same time

在我正在開發的應用程序中,我使用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>

從我的示例代碼中可以看出,我在onsubmit事件中調用了JavaScript函數validateForm() ,而Button控件是AllValidation驗證組的一部分。 目前,在表單提交時, 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函數中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM