layui表單驗證

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章