簡體   English   中英

ASP.NET與Jquery.Validation

[英]ASP.NET vs Jquery.Validation

我正在嘗試配置驗證插件以執行ASP.NET生成形式的驗證:

   <script type="text/javascript">
    $(document).ready(function () {

        $("#aspnetForm").validate({
            rules: {
                "<%=ProjectName.ClientID%>": { required: true, minlength: 8 }
            },
            messages: {
                "<%=ProjectName.ClientID%>": { requred: "can not be empty", minlength: "type at least 8 chars" }

            },
            invalidHandler:
             function (form, validator) {
                 alert('validation failed!');
             },
            errorLabelContainer: $("#alert")
        });
    });
</script>

HTML看起來像這樣:

 <form name="aspnetForm" method="post" action="CreateProject.aspx"  
 onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_ShutUpPostbackButton')" 
 id="aspnetForm" enctype="MULTIPART/FORM-DATA">

 <input id="ctl00_JQueryContent_ProjectName" type="text" style="width:99%;" maxlength="50" name="ctl00$JQueryContent$ProjectName">


 </form>

出於某種原因,形式化的FORM標簽具有(加載頁面后)

   novalidate="novalidate" 

包含。 我不知道它來自哪里,是否會干擾我的驗證。

如果我在INPUT中輸入一個字母INVALID,則插件會通過將class =“ valid”設置為INPUT元素來進行響應,即正在起作用。

除了使它起作用之外,我還需要了解如何根據驗證結果來禁用/啟用輸入元素(主要是按鈕)。 我知道invalidHandler,但是有效結果的處理程序是什么? 請注意,我需要在輸入過程中進行所有驗證。

在HTML5驗證的情況下,此屬性由jquery.validate插件添加。 它在jquery.validate的源代碼(第32-33行)中:

// Add novalidate tag if HTML5.
this.attr( "novalidate", "novalidate" );

您可以刪除此屬性。 查看此討論: http : //forum.jquery.com/topic/disable-jquery-validate-when-html5-form-validation-is-present

submitHandler是什么觸發后的成功驗證的形式,如你所說, invalidHandler為驗證失敗的形式。

暫無
暫無

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

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