layui表單元素的校驗只需在元素上加入lay-verify,layui提供了以下值。
- required(必填項)
- phone(手機號)
- email(郵箱)
- url(網址)
- number(數字)
- date(日期)
- identity(身份證)
- 自定義
同時支持多條規則的驗證,格式:lay-verify=”驗證A|驗證B”
如:lay-verify=”required|phone|number”
完整代碼
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>信息</title> <!--引入css和js--> <link rel="stylesheet" href="/js/layui/css/layui.css" media="all"> <script src="/js/layui/layui.js"></script> </head> <body> <div style=" width:800px; margin:0 auto;"> <form class="layui-form" action="#123" method="post"> <div class="layui-form-item"> <label class="layui-form-label">反饋說明</label> <div class="layui-input-block"> <input name="title" class="layui-input" type="text" placeholder="請輸入反饋說明" autocomplete="off" lay-verify="required"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">反饋主題</label> <div class="layui-input-block"> <input name="title" class="layui-input" type="text" placeholder="請輸入標題" autocomplete="off" lay-verify="title"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">姓名</label> <div class="layui-input-block"> <input name="fname" class="layui-input" type="text" placeholder="請輸入姓名" autocomplete="off" lay-verify="fname"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">手機</label> <div class="layui-input-block"> <input name="phone" class="layui-input" type="tel" autocomplete="off" placeholder="請輸入手機" lay-verify="phone"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">郵箱</label> <div class="layui-input-block"> <input name="email" class="layui-input" type="text" autocomplete="off" placeholder="請輸入郵箱" lay-verify="email"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">單選框</label> <div class="layui-input-block"> <input name="sex" title="男" type="radio" checked="" value="男"> <input name="sex" title="女" type="radio" value="女"> <input name="sex" title="保密" type="radio" value="密"> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">內容</label> <div class="layui-input-block"> <textarea class="layui-textarea" name="contact" lay-verify="contact"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-filter="formDemo" lay-submit>提交</button> <button class="layui-btn layui-btn-primary" type="reset">重置</button> </div> </div> </form> </div> <script type="text/javascript"> layui.use(['form'], function () { var form = layui.form; //自定義驗證規則 form.verify({ title: function (value, item) { if (value.length < 5) { return '標題至少得5個字符啊'; } }, fname: function (value) { if (value.length < 4) { return '請輸入至少4位的用戶名'; } }, contact: function (value) { if (value.length < 4) { return '內容請輸入至少4個字符'; } } , phone: [/^1[3|4|5|7|8]\d{9}$/, '手機必須11位,只能是數字!'] , email: [/^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/, '郵箱格式不對'] }); //監聽提交 form.on('submit(formDemo)', function(data){ //ajax //console.log(data.elem) //被執行事件的元素DOM對象,一般為button對象 //console.log(data.form) //被執行提交的form對象,一般在存在form標簽時才會返回 console.log(data.field) //當前容器的全部表單字段,名值對形式:{name: value};獲取單個值data.field["title"] return false; //阻止表單跳轉。如果需要表單跳轉,去掉這段即可。 }); }); </script> </body> </html>
官網:https://www.layui.com/doc/modules/form.html
end