從現在開始,使用簡單優雅的validata.js


  表單驗證,是后台開發中萬年不變的話題,在經歷許多實戰之后發現

     使用優雅便捷的validate.js實現驗證實在是一件非常愉悅的事情

    <form data-validate>
        Enter:
        <input type="password" data-rule="密碼:required;number[請輸入一個整數];equals(target)"/>
        <input type="password" id="target"/>
     </form>


  在實例用,form元素中加入了data-validate標記,validate.js會為form標記內的驗證控件進行自動驗證
  驗證控件使用data-rule標記,data-rule的語法格式是:

    提示名稱: 規則(規則參數) [自定義提示];

  其中 ‘提示名稱’與‘自定義提示’都是可選項,某些規則需要傳入一個參數,比如equals規則需要傳入比較控件的id

  自定義提示中可以使用{name}與{arg}變量,這在自定義規則中很有用

 

  validate.js會在驗證控件之后加入一個標簽<div class="error_msg"></div>該標簽的模版在$.validate.errorTemplate中

 

  添加標簽的操作由validateHandler實現,validate.js內置了一個簡單的驗證后操作處理函數

  用戶可以使用window.validateHandler = function(msg, scrollTo)來自己的驗證后處理函數(添加提示標簽,滾動到錯誤控件處)

 

  validate.js內置了一些規則,定義在 $.validate.rules下,其結構如下:

     $.validate.rules = {
           required: { rule: /./, message: '不能為空' },
           equals: {
                action: function (el, rule, val, target) {
                    return val !== $('#'+target).val();
                }, message: '兩次輸入的值不一致'
           }
    }


  用戶可以往$.validate.rules添加自定義規則,規則中包含了 rule,action,message
  rule表示為一個正則規則,action表示一個函數驗證規則,兩者是不能同時擁有
  message可以是一個“string”也可以是一個函數,如果是“string”類型,那么可以使用{name},{arg}來替換成控件名稱與參數

  如果是函數,其格式是 message : function (name,arg){ return '' }



  使用js獲取控件驗證狀態:

    $('[data-rule]').isValidate() -> bool


  獲取驗證消息:

    $('form').validate(justTest,scrollTo) -> 
        param: justTest bool 只是檢查,不修改Dom
        param: scrollTo bool 滾動到錯誤元素
        return { isValidate : bool,
             messages:[{
                          element:jQueryElement,
                          message:string
                          }]
         }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM