前言

1、弹出框提示修改
2、提示文字自定义
3、自定义条件提示

1、效果

修改前
在这里插入图片描述

修改后
在这里插入图片描述

实现方式

我的layui版本是2.6.8
js文件只有layui.js(之前的版本可修改form.js文件源码)
所以打开layui.js修改源码,修改如下

// 将
i.msg(f,{icon:5,shift:6})
// 替换成
i.tips(f, r)

或者以前版本的修改form.js文件(如果没有上面 i.msg(f,{icon:5,shift:6}) 这个的时候)

// 将
layer.msg(tips || verify[thisVer][1], {
    icon: 5
    ,shift: 6
});
// 替换成
layer.tips(tips || verify[thisVer][1], item);

如图1下所示(Hbuilder颜色未改,则是黄背景)
在这里插入图片描述
或如图2所示
在这里插入图片描述
我喜欢把提示框颜色改了,以下就是我修改的样式(打开layui.css换行放到后面即可)

/* layer提示*/
.layui-layer-tips .layui-layer-content{
	background: #79c758;
}
.layui-layer-tips i.layui-layer-TipsL, .layui-layer-tips i.layui-layer-TipsR{
    border-bottom-color: #79c758;/* 左边 右边*/
}
.layui-layer-tips i.layui-layer-TipsT, .layui-layer-tips i.layui-layer-TipsB{
    border-right-color: #79c758;/*上边 下边*/
}

2、提示文字自定义

在标签中设置即可

<input type="text" name="code" class="layui-input" placeholder="请输入编码" lay-verify="required|number" lay-reqtext="编码为必填项">

3、自定义条件提示

例如:input自定义提示和select自定义提示
select提示官方插件有时候会弹出位置不对,可使用如下方式提示

标签中


<div class="layui-inline">
	<label class="layui-form-label req">编码</label>
	<div class="layui-input-inline">
		<input type="text" name="code" class="layui-input" placeholder="请输入编码" autocomplete="off" lay-verify="bt" lay-reqtext="编码为必填项"/>
	</div>
</div>
<div class="layui-inline">
	<label class="layui-form-label">下拉选择</label>
	<div class="layui-input-inline">
		<select name="temp" lay-verify="bx" lay-reqtext="下拉为必选">
			<option value="">请选择</option>
			<option value="1">值1</option>
			<option value="2">值2</option>
		</select>
	</div>
</div>

css中

.lay-input-req{
	border-color: #ff5722 !important;
}

js中

/** 表单校验-自定义*/
form.verify({
    bt: function(value, item){
        if(!value){
            $(item).addClass("lay-input-req");
            layer.tips($(item).attr("lay-reqtext") || "必填", item, {
                tips: [1, '#79c758'],// 提示方向:1上 2左 3下 4右,提示框背景颜色
                tipsMore: false, // 开启悬浮多个提示
                time: 3000 // 显示 3 秒
            });
            return true;
        }else{
            $(item).removeClass("lay-input-req");
            return false;
        }
    },
    bx: function(value, item){
        if(!value){
            //$(item).addClass("lay-input-req");
            var tipsObj = $(item).next().find("input");
            layer.tips($(item).attr("lay-reqtext") || "必选", tipsObj, {
                tips: [1, '#79c758'],// 提示方向:1上 2左 3下 4右,提示框背景颜色
                tipsMore: false, // 开启悬浮多个提示
                time: 3000 // 显示 3 秒
            });
            return true;
        }else{
            //$(item).removeClass("lay-input-req");
            return false;
        }
    }
})

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐