簡體   English   中英

Javascript客戶端驗證不起作用ASP.Net

[英]Javascript client-side validation does not work ASP.Net

我在具有兩個文本框的母版頁中有一個Web窗體,並且在將一些數據保存到數據庫之前,我試圖驗證文本框。

如果我在簡單的應用程序(例如簡單的Login)中測試Javascript代碼,它就可以工作。 但是,當我將其用於我的應用程序時,我將無法使用。 它只是將空白空間保存到數據庫。

我不知道為什么JS代碼不起作用,我也不知道該怎么辦。

這是我的一些頁面代碼:

    </head>
    <body>
        <form id="form1" class="contact-form text-right">

        <section class="contact-area" id="contact">
            <div class="container-fluid">
                <div class="row align-items-center d-flex justify-content-start">
                    <div class="col-lg-6 col-md-12 contact-left no-padding">
                        <div>
                             <%-- tabla aqui --%>
                            <table style="width: 100%;">
                                <tr>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                </tr>
                                <tr>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                    <td>&nbsp;</td>
                                </tr>
                            </table>
                        </div>
                    </div>
                    <div class="col-lg-4 col-md-12 pt-100 pb-100">

                            <asp:Label runat="server" ID="lblFecha" Text=""></asp:Label>
                            <asp:Label runat="server" ID="lblIDUsuario" visible="false" Text=""></asp:Label>
                            <asp:Label runat="server" ID="lblUsuario" Text=""></asp:Label>


                            <asp:TextBox ID="txtID" visible="true" class="common-input mt-10" type="numeric" readonly="false" runat="server"></asp:TextBox>
                            <asp:TextBox ID="txtTitulo" placeholder="Ingrese el título" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Ingrese el título'" class="common-input mt-10" type="text" runat="server"></asp:TextBox>
                            <textarea id="txtContenido" style="resize:none;" cols="20" rows="5" placeholder="Ingrese el contenido" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Ingrese el contenido'" class="common-input mt-10" type="text" runat="server"></textarea>

                            <asp:Button ID="btnGuardar" OnClientClick="return performCheck();" OnClick="btnGuardar_Click"  runat="server" Text="Guardar" class="primary-btn mt-20"></asp:Button>
                            <asp:Button ID="btnActualizar"  OnClientClick="return performCheck();" onClick="btnActualizar_Click" runat="server" Text="Actualizar" class="primary-btn mt-20"></asp:Button>
                        <asp:Label ID="lblError" runat="server" Text="" ForeColor="Red"></asp:Label>    
                        <div class="alert-msg">
                            </div>

                    </div>
                </div>
            </div>
        </section>
            </form>


        <script type="text/javascript">
            function performCheck() {
                if (document.getElementById("txtTitulo").value == '') {
                    alert(" Debe Ingresar un título");
                    return false;
                }

                if (document.getElementById("txtContenido").value == '') {
                    alert("Debe Ingresar un contenido");
                    return false;
                }

                return true;
            }
        </script>

        <script src="js/vendor/jquery-2.2.4.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
        <script src="js/vendor/bootstrap.min.js"></script>
        <script src="js/owl.carousel.min.js"></script>
        <script src="js/jquery.ajaxchimp.min.js"></script>
        <script src="js/jquery.sticky.js"></script>
        <script src="js/parallax.min.js"></script>
        <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBhOdIF3Y9382fqJYt5I_sswSrEw5eihAA"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
        <script src="js/jquery.magnific-popup.min.js"></script>
        <script src="js/main.js"></script>

    </body>
</html>

這是我的JS代碼:

<script type="text/javascript">
    function performCheck() {
        if (document.getElementById("txtTitulo").value == '') {
            alert(" Debe Ingresar un título");
            return false;
        }

        if (document.getElementById("txtContenido").value == '') {
            alert("Debe Ingresar un contenido");
            return false;
        }

        return true;
    }
</script>

不要在按鈕的單擊處理程序上進行表單驗證。 在您的表單提交處理程序中執行它們。 用戶可以在不小心繞過您的輸入的情況下單擊回車鍵來提交表單。 可以在https://www.w3schools.com/js/js_validation.asp找到一個示例

這就是為什么僅進行客戶端驗證不足的一個完美示例。 如果至關重要的是要提交的數據有效,則必須實施服務器端驗證。 無論是偶然還是有意的,用戶都可以毫不費力地繞過任何客戶端驗證。

暫無
暫無

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

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