关于 layui表单的验证规则、调用、自定义规则的使用经验总结:
除了 layui 本身配套的一个验证体系,还支持开发者自定义验证规则(如上表中的【自定义密码验证(代码参考下文)】),并直接嵌入到页面的js代码中。
必要属性:
lay-verify="required|pass"
,如果多个规则验证,就用符号|
并列即可。
截图举例:
验证表单对象 · 都有哪些?
如何调用规则和验证?如下表所示:
具体实例代码参考:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>表单验证 - 案例演示</title><meta name="keywords" content="" /> <meta name="description" content="" /> <meta name="renderer" content="webkit" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="format-detection" content="telephone=no" /><link rel="stylesheet" href="plugins/layui/css/layui.css"><link rel="stylesheet" href="css/global.css"><!-- 让IE8/9支持媒体查询,从而兼容栅格 --><!--[if lt IE 9]><script src="/html5shiv/r29/html5.min.js"></script><script src="/respond.js/1.4.2/respond.min.js"></script><![endif]--></head><body><div class="main-content"><form class="layui-form" action="" lay-filter="component-form-group"><div class="layui-form-item"><label class="layui-form-label">验证必填项</label><div class="layui-input-block"><input type="text" name="" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">多规则验证</label><div class="layui-input-block"><input type="text" name="number" lay-verify="required|number" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">验证用户名</label><div class="layui-input-block"><input type="text" name="username" lay-verify="required|username" placeholder="请输入用户名" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">验证手机号</label><div class="layui-input-inline"><input type="tel" name="phone" lay-verify="required|phone" autocomplete="off" class="layui-input"></div></div><div class="layui-inline"><label class="layui-form-label">验证邮箱</label><div class="layui-input-inline"><input type="text" name="email" lay-verify="required|email" autocomplete="off" class="layui-input"></div></div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">验证身份证</label><div class="layui-input-inline"><input type="text" name="identity" lay-verify="required|identity" placeholder="15或18位" autocomplete="off" class="layui-input"></div></div><div class="layui-inline"><label class="layui-form-label">验证日期</label><div class="layui-input-inline"><input type="text" name="date" id="LAY-component-form-group-date" lay-verify="required|date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input" lay-key="1"></div></div><div class="layui-inline"><label class="layui-form-label">验证链接</label><div class="layui-input-inline"><input type="tel" name="url" lay-verify="required|url" placeholder="" autocomplete="off" class="layui-input"></div></div></div><div class="layui-form-item"><label class="layui-form-label">自定义密码验证</label><div class="layui-input-inline"><input type="password" name="password" lay-verify="required|pass" placeholder="请输入密码" autocomplete="off" class="layui-input"></div><div class="layui-form-mid layui-word-aux">请填写6到12位密码</div></div><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">搜索选择框</label><div class="layui-input-inline"><select name="modules" lay-verify="required" lay-search=""><option value="">直接选择或搜索选择</option><option value="1">layer</option><option value="2">form</option><option value="3">layim</option><!-- ···略···略···略··· --><option value="19">switch</option><option value="20">radio</option></select></div></div></div><div class="layui-form-item"><div class="layui-input-block"><div class="layui-footer"><button class="layui-btn" lay-submit="" lay-filter="component-form-demo1">立即提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div></div></form></div><!--重要文件--><script type="text/javascript" src="plugins/layui/layui.js"></script><!--[if lt IE 9]><script src="js/jquery-1.9.1.min.js"></script><![endif]--><script src="js/jquery.min.js"></script><script type="text/javascript">layui.use(['layer', 'form', 'element'], function() {var layer = layui.layer,element = layui.element,//注意:选项卡 依赖 element 模块,否则无法进行功能性操作$ = layui.jquery,form = layui.form;//…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位,且不能出现空格'] });//表单提交按钮/*$("#save").click(function(){var index = parent.layer.getFrameIndex(window.name); //获取窗口索引parent.layer.close(index); // 关闭layerwindow.parent.location.reload(); //刷新父页面});*/});</script></body></html>
具体操作后的效果图省略,本文不赘述。
以上就是关于“ layui表单验证 && 内置自定义规则 - 使用说明 ” 的全部文章。