溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

layui如何實現(xiàn)表單驗證

發(fā)布時間:2021-07-23 14:31:19 來源:億速云 閱讀:443 作者:小新 欄目:web開發(fā)

這篇文章主要介紹layui如何實現(xiàn)表單驗證,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在網上看到很多validform和layer配合的驗證方式,但是覺得寫的不好,不清不楚的,于是研究了一下layui原生的驗證

1. 在需要驗證的item上加 lay-verify=“value” ,在提交按鈕上加 lay-submit lay-filter=“go” 兩個屬性

value:

required(必填項)
phone(手機號)
email(郵箱)
url(網址)
number(數(shù)字)
date(日期)
identity(身份證)
自定義值(就是自定義驗證規(guī)則)

PS :layui要使用form 得用use...這樣的東西,我就不做說明了

layui.use('form', function(){
  var form = layui.form(); //只有執(zhí)行了這一步,部分表單元素才會修飾成功

2. 說一下自定義驗證

在這里寫自定義的驗證規(guī)則,“username”和“pass”是自定義驗證規(guī)則的名字,就跟前邊的"required","phone"...一樣,在這里定義好驗證的名字和驗證規(guī)則,

使用的方法就跟"required","phone"...一樣一樣的

form.verify({
    username: function(value, item){ //value:表單的值、item:表單的DOM對象
      if(!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){
        return '用戶名不能有特殊字符';
      }
      if(/(^\_)|(\__)|(\_+$)/.test(value)){
        return '用戶名首尾不能出現(xiàn)下劃線\'_\'';
      }
      if(/^\d+\d+\d$/.test(value)){
        return '用戶名不能全為數(shù)字';
      }
    }

    //我們既支持上述函數(shù)式的方式,也支持下述數(shù)組的形式
    //數(shù)組的兩個值分別代表:[正則匹配、匹配不符時的提示文字]
    ,pass: [
      /^[\S]{6,12}$/,'密碼必須6到12位,且不能出現(xiàn)空格'
    ]
  });

3. 驗證通過了就觸發(fā)提交

‘submit(go)'這個其實就是綁定“提交按鈕”,還記得第一步讓你加的兩個屬性吧 lay-submit lay-filter=“go” ,懂了吧!go是可以隨便寫的

這里指的一提的是data.field這個東西,它會獲得 全部表單字段,名值對形式:{name: value},

這樣我們在發(fā)送ajax的時候就不必自己去收集表單的字段值了

form.on('submit(go)', function(data){
  //console.log(data.elem);//被執(zhí)行事件的元素DOM對象,一般為button對象
  //console.log(data.form);//被執(zhí)行提交的form對象,一般在存在form標簽時才會返回
  //console.log(data.field); //當前容器的全部表單字段,名值對形式:{name: value}
  
  //發(fā)送ajax

  return false; //阻止表單跳轉。如果需要表單跳轉,去掉這段即可。
});
});

以上是“l(fā)ayui如何實現(xiàn)表單驗證”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI