layui原生表单验证的实例


Posted in Javascript onSeptember 09, 2019

在网上看到很多validform和layer配合的验证方式,但是觉得写的不好,不清不楚的,于是研究了一下layui原生的验证

1. 在需要验证的item上加 lay-verify=“value” ,在提交按钮上加 lay-submit lay-filter=“go” 两个属性

value:

required(必填项)
phone(手机号)
email(邮箱)
url(网址)
number(数字)
date(日期)
identity(身份证)
自定义值(就是自定义验证规则)

PS :layui要使用form 得用use...这样的东西,我就不做说明了

layui.use('form', function(){
  var form = layui.form(); //只有执行了这一步,部分表单元素才会修饰成功

2. 说一下自定义验证

在这里写自定义的验证规则,“username”和“pass”是自定义验证规则的名字,就跟前边的"required","phone"...一样,在这里定义好验证的名字和验证规则,

使用的方法就跟"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 '用户名首尾不能出现下划线\'_\'';
      }
      if(/^\d+\d+\d$/.test(value)){
        return '用户名不能全为数字';
      }
    }

    //我们既支持上述函数式的方式,也支持下述数组的形式
    //数组的两个值分别代表:[正则匹配、匹配不符时的提示文字]
    ,pass: [
      /^[\S]{6,12}$/,'密码必须6到12位,且不能出现空格'
    ]
  });

3. 验证通过了就触发提交

‘submit(go)'这个其实就是绑定“提交按钮”,还记得第一步让你加的两个属性吧 lay-submit lay-filter=“go” ,懂了吧!go是可以随便写的

这里指的一提的是data.field这个东西,它会获得 全部表单字段,名值对形式:{name: value},

这样我们在发送ajax的时候就不必自己去收集表单的字段值了

form.on('submit(go)', function(data){
  //console.log(data.elem);//被执行事件的元素DOM对象,一般为button对象
  //console.log(data.form);//被执行提交的form对象,一般在存在form标签时才会返回
  //console.log(data.field); //当前容器的全部表单字段,名值对形式:{name: value}
  
  //发送ajax

  return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});

以上这篇layui原生表单验证的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js 时间函数getYear()的使用问题探讨
Apr 01 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
angular.bind使用心得
Oct 26 Javascript
原生js实现弹出层效果
Jan 20 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 Javascript
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
iview同时验证多个表单问题总结
Sep 29 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 #Javascript
layui插件表单验证提交触发提交的例子
Sep 09 #Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 #Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
Sep 09 #Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 #Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 #Javascript
微信小程序 checkbox使用实例解析
Sep 09 #Javascript
You might like
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
跟老齐学Python之复习if语句
2014/10/02 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
2015年世界无烟日活动总结
2015/02/10 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python