layui处理表单验证时, select非空验证自动处理null或underfined.

博客介绍了在layui框架中遇到的表单验证问题,特别是当后台返回null值时,select选择项的非空验证无法正常处理。作者提供了一个解决方案,即修改form.js源代码,将`d=r.val()`替换为`d=r.val()||''`,确保在验证时能正确判断值是否为空,避免验证失败。这个方法可以有效地解决表单验证中遇到的空值问题。
摘要由CSDN通过智能技术生成

很多人都在问, 在layui处理表单验证时, 因为后台取值为null时, select非空验证没有自动处理null或underfined.
这里提供一个在我看来比较好的解决办法:

修改form.js 源代码中  d=r.val();  替换为d=r.val()||'';   

获取值验证时进行值得判断和替换,解决问题

var d = function() {
            var e = t(this),
                a = f.config.verify,
                s = null,
                o = "layui-form-danger",
                c = {},
                u = e.parents(r),
                d = u.find("*[lay-verify]"),
                v = e.parents("form")[0],
                h = u.find("input,select,textarea"),
                y = e.attr("lay-filter");
            if (layui.each(d, function(e, l) {
                    var r = t(this),
                        c = r.attr("lay-verify").split("|"),
                        u = r.attr("lay-verType"),
                      	d = r.val()||'';  //-------------这个位置---------------
                    if (r.removeClass(o), layui.each(c, function(e, t) {
                            var c, f = "",
                                v = "function" == typeof a[t];
                            if (a[t]) {
                                var c = v ? f = a[t](d, l) : !a[t][0].test(d);
                                if (f = f || a[t][1], "required" === t && (f = r.attr("lay-reqText") || f), c) return "tips" === u ? i.tips(f, function() {
                                    return "string" == typeof r.attr("lay-ignore") || "select" !== l.tagName.toLowerCase() && !/^checkbox|radio$/.test(l.type) ? r : r.next()
                                }(), {
                                    tips: 1
                                }) : "alert" === u ? i.alert(f, {
                                    title: "提示",
                                    shadeClose: !0
                                }) : i.msg(f, {
                                    icon: 5,
                                    shift: 6
                                }), n.android || n.ios || setTimeout(function() {
                                    l.focus()
                                }, 7), r.addClass(o), s = !0
                            }
                        }), s) return s
                }), s) return !1;
            var p = {};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小刀cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值