layui原生表單驗(yàn)證的實(shí)例
在網(wǎng)上看到很多validform和layer配合的驗(yàn)證方式,但是覺(jué)得寫(xiě)的不好,不清不楚的,于是研究了一下layui原生的驗(yàn)證
1. 在需要驗(yàn)證的item上加 lay-verify=“value” ,在提交按鈕上加 lay-submit lay-filter=“go” 兩個(gè)屬性
value:
required(必填項(xiàng))
phone(手機(jī)號(hào))
email(郵箱)
url(網(wǎng)址)
number(數(shù)字)
date(日期)
identity(身份證)
自定義值(就是自定義驗(yàn)證規(guī)則)
PS :layui要使用form 得用use...這樣的東西,我就不做說(shuō)明了
layui.use('form', function(){
var form = layui.form(); //只有執(zhí)行了這一步,部分表單元素才會(huì)修飾成功
2. 說(shuō)一下自定義驗(yàn)證
在這里寫(xiě)自定義的驗(yàn)證規(guī)則,“username”和“pass”是自定義驗(yàn)證規(guī)則的名字,就跟前邊的"required","phone"...一樣,在這里定義好驗(yàn)證的名字和驗(yàn)證規(guī)則,
使用的方法就跟"required","phone"...一樣一樣的
form.verify({
username: function(value, item){ //value:表單的值、item:表單的DOM對(duì)象
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ù)組的兩個(gè)值分別代表:[正則匹配、匹配不符時(shí)的提示文字]
,pass: [
/^[\S]{6,12}$/,'密碼必須6到12位,且不能出現(xiàn)空格'
]
});
3. 驗(yàn)證通過(guò)了就觸發(fā)提交
‘submit(go)'這個(gè)其實(shí)就是綁定“提交按鈕”,還記得第一步讓你加的兩個(gè)屬性吧 lay-submit lay-filter=“go” ,懂了吧!go是可以隨便寫(xiě)的
這里指的一提的是data.field這個(gè)東西,它會(huì)獲得 全部表單字段,名值對(duì)形式:{name: value},
這樣我們?cè)诎l(fā)送ajax的時(shí)候就不必自己去收集表單的字段值了
form.on('submit(go)', function(data){
//console.log(data.elem);//被執(zhí)行事件的元素DOM對(duì)象,一般為button對(duì)象
//console.log(data.form);//被執(zhí)行提交的form對(duì)象,一般在存在form標(biāo)簽時(shí)才會(huì)返回
//console.log(data.field); //當(dāng)前容器的全部表單字段,名值對(duì)形式:{name: value}
//發(fā)送ajax
return false; //阻止表單跳轉(zhuǎn)。如果需要表單跳轉(zhuǎn),去掉這段即可。
});
});
以上這篇layui原生表單驗(yàn)證的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Js可拖拽放大的層拖動(dòng)特效實(shí)現(xiàn)方法
這篇文章主要介紹了Js可拖拽放大的層拖動(dòng)特效實(shí)現(xiàn)方法,涉及javascript操作DOM元素及css樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
js 輸入框 正則表達(dá)式(菜鳥(niǎo)必看教程)
下面小編就為大家?guī)?lái)一篇js輸入框使用正則表達(dá)式校驗(yàn)輸入內(nèi)容的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
TensorFlow.js機(jī)器學(xué)習(xí)預(yù)測(cè)鳶尾花種類
TensorFlow.js是一個(gè)開(kāi)源的基于硬件加速的JavaScript庫(kù),用于訓(xùn)練和部署機(jī)器學(xué)習(xí)模型。本教程將會(huì)帶大家簡(jiǎn)單了解和使用TensorFlow.js框架實(shí)現(xiàn)預(yù)測(cè)鳶尾花種類2022-11-11
javascript 可控式透明特效實(shí)現(xiàn)代碼
透明特效是script.aculo.us提到的特效中最簡(jiǎn)單的特效之一。既然是特效,必須涉及時(shí)間與空間的概念。時(shí)間我們可以用setTimeout與setInterval,個(gè)人比較喜歡setTimeout,雖然它每次調(diào)用都重復(fù)注冊(cè),但可控性比較好。2010-01-01
一文帶你快速學(xué)會(huì)JavaScript條件判斷及高級(jí)用法
JavaScript支持其用于執(zhí)行根據(jù)不同的條件不同的操作條件語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于如何在JavaScript中更好的使用條件判斷的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
JavaScript面試之如何實(shí)現(xiàn)數(shù)組拍平(扁平化)方法
數(shù)組扁平化是指將一個(gè)多維數(shù)組變?yōu)橐痪S數(shù)組,下面這篇文章主要給大家介紹了關(guān)于JavaScript面試之如何實(shí)現(xiàn)數(shù)組拍平(扁平化)方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11
JavaScript中object和Object的區(qū)別(詳解)
下面小編就為大家?guī)?lái)一篇JavaScript中object和Object的區(qū)別(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Js 時(shí)間函數(shù)getYear()的使用問(wèn)題探討
不推薦使用getYear()這個(gè)函數(shù),因?yàn)樵诨鸷酗@示是不正確的,所以推薦使用getFullYear() 函數(shù),接下來(lái)為大家詳細(xì)介紹下getYear函數(shù)在不同瀏覽下的使用問(wèn)題2013-04-04
javascript支持區(qū)號(hào)輸入的省市二級(jí)聯(lián)動(dòng)下拉菜單
javascript支持區(qū)號(hào)輸入的省市二級(jí)聯(lián)動(dòng)下拉菜單...2007-05-05
JavaScript中Form表單技術(shù)匯總(推薦)
這篇文章主要介紹了JavaScript中Form表單技術(shù)的相關(guān)資料,包括簡(jiǎn)單的表單驗(yàn)證和正則表達(dá)式驗(yàn)證,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06

