2014-06-30 72 views
0

我確定我只是忽略了一些簡單的...但我想在jQuery中的無效輸入項(如文本框)旁邊顯示文本錯誤消息,步驟表單驗證。基於Jquery步驟的代碼,here覆蓋默認的jquery-steps錯誤消息

從我一直在閱讀這應該做的伎倆:

<script> 
    $(function() 
    { 

/*   function errorPlacement(error, element) 
     { 
      element.before(error); 
     }*/ 

     $("#form").validate({ 
      rules: { 
       zip: { 
        required: true, 
        digits:true, 
        maxlength:5, 
        minlength:5 
        }, 
       messages: { 
        zip: "entr da zip dode" 
        } 
      } 
     }); 

     $("#wizard").steps({ 
      headerTag: "h3", 
      bodyTag: "section", 
      transitionEffect: "slideLeft", 
      onStepChanging: function (event, currentIndex, newIndex) 
      { 
       // Allways allow step back to the previous step even if the current step is not valid! 
       if (currentIndex > newIndex) 
       { 
        return true; 
       } 

       $("#form").validate().settings.ignore = ":disabled,:hidden"; 
       return $("#form").valid(); 

      }, 
      onFinishing: function (event, currentIndex) 
      { 
       $("#form").validate().settings.ignore = ":disabled"; 
       return $("#form").valid(); 
      }, 
      onFinished: function (event, currentIndex) 
      { 
       alert("Thank you! Your request has been sumbitted."); 
      } 
     }); 
    }); 

    //PHONE NUMBER MASKING FUNCTION  
    jQuery(function($){ 
     $("#phone").mask("999-999-9999",{placeholder:" "}); 
    }); 

但驗證簡單地忽略這一點,只是增加了「階級=‘錯誤’」爲無效的項目,但不附加標籤或div(等)來顯示消息。

我錯過了什麼?

回答

0

將您的規則和消息設置爲兩個單獨的對象。試試這個(你可以取消註釋最小/最大消息來看它們是如何工作的):

$('#form').validate({ 
    rules: { 
    zip: { 
     required: true, 
     digits: true, 
     minlength: 5, 
     maxlength: 5 
    } 
    }, 
    messages: { 
    zip: { 
     //minlength: jQuery.format("Zip must be {0} digits in length"), 
     //maxlength: jQuery.format("Please use a {0} digit zip code"), 
     required: "entr da zip dode" 
    } 
    } 
}); 
+0

這沒有幫助。驗證仍然像以前一樣運作。我編輯了我的問題以包含完整的腳本塊 - 也許這會有所幫助。 – photoman

相關問題