layui修改表单验证规则

时间:2021-11-03 20:47:25

使用layui的表单验证form.js,一旦添加验证,例如 lay-verify="phone"、lay-verify="email" 就会要求必填,然而很多时候我的要求是可以不填,但是填写就需要按照规则来填写,因此原生的form.js提供的验证方法已不能满足要求,我们需要实现这样的功能就需要自己实现,我们只需要修改layui下面的form.js在对应的正则表达式"/"后面加上‘(^$)|’即可,如:

verify: {
        required: [/[S] /, "必填项不能为空"],
        phone: [/(^$)|^1d{10}$/, "请输入正确的手机号"],
        email: [/(^$)|^([a-zA-Z0-9_.-]) @(([a-zA-Z0-9-]) .) ([a-zA-Z0-9]{2,4}) $/, "邮箱格式不正确"],
        url: [/(^$)|(^#)|(^http(s*)://[^s] .[^s] )/, "链接格式不正确"],
        number: function(e) {
                if (!e || isNaN(e)) return "只能填写数字"
        },
        date: [/(^$)|^(d{4})[-/](d{1}|0d{1}|1[0-2])([-/](d{1}|0d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
        identity: [/(^$)|(^d{15}$)|(^d{17}(x|X|d)$)/, "请输入正确的身(和)份(谐)证号"]
}