form-layui

html
<div id="formData">
            <form class="layui-form formBtn" style="margin-right:50px;margin-top:50px">
                <input type="hidden" name="ID" id="id">
                <div class="layui-form-item">
                    <label class="layui-form-label">账号</label>
                    <div class="layui-input-block">
                        <input type="text" name="Account" lay-verify="required|account" autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-input-block">
                        <button type="button" class="layui-btn" lay-submit lay-filter="formSubmit" id="submitBtn">立即提交</button>
                        <button type="button" class="layui-btn layui-btn-primary" id="cancelBtn">取消</button>
                    </div>
                </div> 
            </form>
        </div>
内置表单验证
<input type="text" lay-verify="required|phone|number">
    <input type="text" lay-verify="email"> 
自定义验证
function valideForm(){
                //自定义验证规则
                form.verify({//内置验证 required(必填项)、phone(手机号)、email(邮箱)、url(网址)、number(数字)、date(日期)、identity(身份证)
                    account: function(value){
                        if(value.length > 12 || value.length < 6 ){
                            return '账号长度必须在6~12之间';
                        }
                    }//与元素的lay-verify属性对应
                })
            }
自定义了上面的验证规则后,只需要把key赋值给输入框的 lay-verify,如:
<input type="text" lay-verify="username" placeholder="请输入用户名">
        <input type="password" lay-verify="pass" placeholder="请输入密码">
 监听form提交
//监听form提交  form.on('submit(formSubmit)', callback);formSubmit是提交按钮的lay-filter
            form.on('submit(formSubmit)',function(){
               //do something
            })
更新渲染
有些表单元素可能是动态插入的。这时 Form模块 的自动化渲染是会对其失效的,没有双向绑定机制
之前使用开关按钮时设置按钮状态,一直没有效果,后来头疼了好久才发现需要更新渲染。。。心累~
//参数(type)值select/checkbox/radio            
            form.render(type, filter);
            form.render(); //更新全部
            form.render('select'); //刷新select选择框渲染
            form.render(null, 'test1'); //更新 lay-filter="test1" 所在容器内的全部表单状态
            form.render('select', 'test2'); //更新 lay-filter="test2" 所在容器内的全部 select 状态
 
原文地址:https://www.cnblogs.com/xiaonangua/p/9172091.html