Layui Form 如何主动验证表单是否通过

Layui Form 如何主动验证表单是否通过

/下载地址:/
https://download.csdn.net/download/qq_17837497/12649799

  1. 最近使用Layui Form时遇到一个问题,layui的form
    好像只能通过submit来触发表单的验证,当没有submit时就没法进行验证和阻止提交。

  2. 于是扩展了一下form.js, 代码如下:

 u.prototype.VerifyForm = function (z) {
            var e = null,
                a = f.config.verify,
                s = "layui-form-danger",
                c = t("#" + z),
                d = c.find("*[lay-verify]");
            layui.each(d, function (l, r) {
                var o = t(this),
                    c = o.attr("lay-verify").split("|"),
                    u = o.attr("lay-verType"),
                    d = o.val();
                if (o.removeClass(s), layui.each(c, function (t, l) {
                    var c, f = "", v = "function" == typeof a[l];
                    if (a[l]) {
                        var c = v ? f = a[l](d, r) : !a[l][0].test(d);
                        if (f = f || a[l][1], "required" === l && (f = o.attr("lay-reqText") || f), c) return "tips" === u ? i.tips(f, function () {
                            return "string" == typeof o.attr("lay-ignore") || "select" !== r.tagName.toLowerCase() && !/^checkbox|radio$/.test(r.type) ? o : o.next()
                        }(), { tips: 1 }) : "alert" === u ? i.alert(f, { title: "提示", shadeClose: !0 }) : i.msg(f, {
                            icon: 2,
                            shift: 6
                        }), n.android || n.ios || setTimeout(function () {
                            r.focus()
                        }, 7), o.addClass(s), e = !0
                    }
                }), e) return e
            });
            return !e;
        },
  1. 将这一段复制到layui的form.js里即可。

  2. 调用方法

layui.form.VerifyForm("formInfo")
--成功返回true 失败返回 false boolen型
--这里的“formInfo”就是表单的ID

```javascript
    function SaveForm() {
        if (layui.form.VerifyForm("formInfo"))
         {
            var formData = formEle.GetVal("formInfo");
            var postUrl = "";
            if (!keyValue)
                postUrl = '/SystemModule/BaseUser/SaveForm';
            else {
                formData.UserId = keyValue;
                postUrl = '/SystemModule/BaseUser/UpdateForm';
            }
            parent.$('.layui-layer-btn0').hide();
            $.postData({
                url: postUrl,
                data: formData,
                success: function (data) {
                    parent.layer.closeAll();
                    parent.table.reload('table', {
                        url: '/SystemModule/BaseUser/GetPageListJson'
                    });
                    parent.$('.layui-layer-btn0').show();
                },
                fail: function (xhr) {
                    parent.$('.layui-layer-btn0').show();
                    return layer.msg('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!');
                }
            });
        }
    }
  1. 这样就可以在表单提交之前通过js方法调用表单验证了!

6.Layui 表单验证文档:https://www.layui.com/doc/modules/form.html#verify

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
layui form 主动验证是指在某些特定情况下,通过代码触发表单验证的过程。通常情况下,layui form 插件会在表单提交或输入框失焦时自动进行验证,然后根据验证结果显示错误提示信息。 但有时候,在某些需要实时验证的场景下,自动验证可能不够及时或不够准确。这时,可以使用 layui form主动验证功能来满足需求。 要进行主动验证,我们需要使用 layuiform 模块中的 verify 方法和验证表单的元素。 首先,在需要验证表单元素上添加相应的验证规则,如必填字段、手机号码格式等。然后,通过监听表单的某个动作(如点击按钮、输入框改变等)触发验证的方法。 例如,我们可以使用如下代码实现表单提交时的主动验证: ```javascript //通过form模块的verify方法设定表单元素的验证规则 form.verify({ username: function(value, item){ //value:表单的值,item:表单的DOM对象 if(!value){ return '用户名不能为空'; } }, password: function(value, item){ if(!value){ return '密码不能为空'; } } }); //监听表单提交事件 form.on('submit(formDemo)', function(data){ if(form.verify()){ //使用form.verify()方法触发表单主动验证 //验证通过后的操作 console.log(data.field); //获取表单数据 }else{ //验证不通过时的操作 } }); ``` 以上代码中,我们使用 form.verify() 方法触发表单主动验证验证通过后才执行表单提交操作。在验证不通过时,可以根据需求进行相应的处理,如显示错误提示信息、阻止表单提交等。 总之,layui form主动验证功能可以帮助开发者实时地验证表单数据,提高用户的交互体验。通过监听表单动作触发验证方法,开发者可以根据具体需求灵活地应用主动验证功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值