成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

微信小程序表單驗(yàn)證插件WxValidate的二次封裝功能(終極版)

微信小程序表單驗(yàn)證前面的兩篇文章做的效果總感覺(jué)都有點(diǎn)不太友好,第一篇里的效果是將錯(cuò)誤信息通過(guò)對(duì)話框形式彈出來(lái),這種形式在web形式下早已經(jīng)淘汰了;第二篇是一次性全部顯示所有的錯(cuò)誤,然后3秒后自動(dòng)消失,

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),金牛企業(yè)網(wǎng)站建設(shè),金牛品牌網(wǎng)站建設(shè),網(wǎng)站定制,金牛網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,金牛網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

這種在極端情況下也不太好,例如我例子里的一頁(yè)的表單個(gè)數(shù)非常多的情況下,可能后面的還沒(méi)看到就消失了。所以最近又重新做了一版,最終版的效果如下圖:錯(cuò)誤信息一次性全部顯示,可以通過(guò)點(diǎn)擊信息框讓其消失,將自動(dòng)消失時(shí)間設(shè)置的稍微長(zhǎng)點(diǎn),例如10秒,這樣就能比較好的兼顧效果和使用上的便捷。

微信小程序表單驗(yàn)證插件WxValidate的二次封裝功能(終極版)

先講講最終版與前面2版的不同點(diǎn)

1.前面版本中提到,表單空間里需要添加3個(gè)參數(shù):id,data-fieldname,data-validate 。最終版中只需要 data-validate 即可。

2.由于需要點(diǎn)擊錯(cuò)誤信息框后使其隱藏,則需要通過(guò)微信小程序wxs事件響應(yīng)功能,新增事件

一、util.wxs文件

module.exports = {
 hiddenValidateError: hiddenValidateError
}
function hiddenValidateError(event, ownerInstance) {
 var index= event.target.dataset.index;
 var instance = ownerInstance.selectComponent('.validateText'+index) // 返回組件的實(shí)例
 instance.setStyle({
 "visibility": "hidden"
 }) 
}

二、wxml文件

<wxs module="wxs" src="../../utils/util.wxs"></wxs>
<block wx:for="{{arrValidate}}" wx:for-item="validateErrorText">
 <view class="validateText validateText{{validateErrorText.index}}" animation="{{vaildateErrorText_animation}}"  data-index="{{validateErrorText.index}}" bindtap="{{wxs.hiddenValidateError}}">
 {{validateErrorText.msg}}
 </view>
</block>
<form bindsubmit="formSubmit">
<view class="wide-info">
<view class="wide-info-list">
<!--姓名-->
<view class="info-list">
<view class="info-list-1eft">
<text class="notEmptyClass">姓名</text>
</view>
<view class="info-list-right">
<input name='tname' placeholder='請(qǐng)輸入' value='{{form.tname}}' class="wxValidate inputName"
data-validate="notEmpty|size[4,10]"/>
</view>
</view>
......
</view>
<!--按鈕--->
<view class="buttons-kind">
<button class="fabu" form-type="submit">發(fā)布</button>
</view>
</form>

三、form.js

onReady: function () {
 //驗(yàn)證方法
 this.WxValidate = new WxValidate();
},
formSubmit: function (e) {
 util.loadingMsg("數(shù)據(jù)提交中,請(qǐng)稍后...");
 var that = this;
 console.log('form發(fā)生了submit事件,攜帶的數(shù)據(jù)為:', e.detail.value)
 const params = e.detail.value 
 //校驗(yàn)表單
 if (!this.WxValidate.checkForm(params)) {
  var arrValidate = new Array();
  let top = 0;
  for (const i in this.WxValidate.errorList){
  const error = this.WxValidate.errorList[i]
  if(i==0){   
   top = error.top;
  }  
  const validateErrorText= {id:error.param, visibility: "inherit", top: error.top + "px", left: error.left + "px", msg: error.msg }  
  arrValidate[i]=validateErrorText;
  }
  this.setData({arrValidate: arrValidate});

)
  wx.pageScrollTo({
  scrollTop: top,
  duration:500
  });
  setTimeout(function(){    
  util.fadeOut(that, "vaildateErrorText_animation", 0);
  },10000);
  wx.hideLoading(); 
  return false
 } 
 wx.hideLoading();
 //向后臺(tái)發(fā)送時(shí)數(shù)據(jù) wx.request... 
 util.alert("成功提示", '提交成功 :' + e.detail.value.date);
 }

以上代碼就是提交表單用到的關(guān)鍵代碼,在實(shí)際使用是,最好將提交功能也做一個(gè)封裝,這樣以后就不用每次都寫(xiě)這么多代碼了,關(guān)于提交功能的封裝,等有空的時(shí)候在寫(xiě)了,表單驗(yàn)證插件終極版本在點(diǎn)擊下方路徑下載:

https://github.com/zhuiyue82/wx-wxValidate2.0

總結(jié)

以上所述是小編給大家介紹的微信小程序表單驗(yàn)證插件WxValidate的二次封裝功能(終極版),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

當(dāng)前標(biāo)題:微信小程序表單驗(yàn)證插件WxValidate的二次封裝功能(終極版)
網(wǎng)站鏈接:http://jinyejixie.com/article10/gciodo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站定制網(wǎng)站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
洪湖市| 镇远县| 罗源县| 遂川县| 阿图什市| 天等县| 青冈县| 新郑市| 阿坝县| 兴仁县| 枣强县| 综艺| 申扎县| 墨江| 鄂温| 白朗县| 英山县| 海安县| 介休市| 唐海县| 桂林市| 新余市| 遵义县| 舒兰市| 阜新| 临沭县| 丁青县| 垣曲县| 衡阳县| 息烽县| 扎鲁特旗| 临高县| 恭城| 巴彦淖尔市| 汉阴县| 辽宁省| 安徽省| 成武县| 安阳县| 江永县| 武陟县|