jquery
  • jquery-validate
  • 2013-11-21 161 views 0 likes 
    0

    我試圖保持使用jQuery Validate插件時的默認錯誤消息位置和行爲。當我設置validate()對象的任何屬性時,默認行爲似乎會改變。jQuery驗證插件默認行爲

    例如。如果我只是裝點我與所需的屬性HTML輸入這裏的結果:

    HTML屬性:

    <input id="name" type="text" required/> 
    

    Dedfault jQuery Validate Behavior

    一旦我修改這裏的驗證對象的屬性是什麼,我得到:

    After Validate Property Change

    我使用的代碼來修改:

    $("[id$='emailForm']").validate({ 
        debug: true, 
        rules: { 
         txtEmail: { 
          required: true, 
          email: true 
         } 
        } 
    }); 
    

    那麼是什麼給。爲什麼所有的格式和放置都會改變。什麼是最簡單的方式,我可以回到它默認的行爲方式?

    +0

    你不顯示足夠的代碼來解釋你的照片。單獨的jQuery代碼不能做你所顯示的,這是真正的默認行爲=> http://jsfiddle.net/6UAs3/ – Sparky

    +0

    我可以添加確切的HTML屬性,但除了我放入的內容,沒有額外的代碼。這是jQuery驗證如何開箱即用的。 – EthanTowne

    +0

    你_think_是什麼jQuery Validate插件的默認行爲就是這樣。您的第一張圖片是HTML5兼容瀏覽器提供的默認HTML5驗證。您的第二張圖片是jQuery Validation插件的默認行爲。 – Sparky

    回答

    1

    您的代碼:

    <input id="name" type="text" required/> 
    

    required是HTML5驗證屬性。而你在第一張圖片中看到的僅僅是你的HTML5兼容瀏覽器正在做的事情......它與插件無關。除非您調用.validate()方法對其進行初始化,否則該插件不會執行任何操作。

    一旦你調用.validate()方法,你正在初始化jQuery驗證插件,然後它接管。你的第二張照片是插件的默認行爲。

    演示插件的默認外觀:http://jsfiddle.net/6UAs3/


    請參閱如何實現「看」你想同時使用jQuery驗證插件這個提問/回答:How to display messages from jQuery Validate plugin inside of Tooltipster tooltips?

    -2

    當您首次創建驗證對象時,將其保存在一個變量中,稍後用於觸發驗證。

    var validator = $("[id$='emailForm']").validate({ 
        debug: true, 
        rules: { 
         txtEmail: { 
          required: true, 
          email: true 
         } 
        } 
    }); 
    
    // Trigger validation at later point by invoking the valid method instead of validate 
    var isValid = validator.valid(); 
    
    +0

    所以這將保持默認的驗證行爲? – EthanTowne

    +0

    是的。但這取決於你默認的意思。如果您完全依賴html'required'屬性,則不需要驗證器插件。我不確定您的應用程序必須支持哪些瀏覽器,但您無法依賴必需的屬性才能在舊瀏覽器中正常運行。每次調用驗證方法都會對元素重新應用默認驗證。關鍵是調用一次驗證,然後使用返回的驗證器對象並調用「valid()」方法 - 它將返回一個布爾值。 – Srini

    相關問題