00008

00008 - layui 表单验证,需要验证,但非必输

 

当使用layui的验证规则,比如 手机,

<input type="text" name="userName" lay-verify="phone" placeholder="" autocomplete="off" class="layui-input">

此时,该输入框可为空, 表单就提交不了。

可自定义验证规则, 即为空时,不校验, 不为空时, 要校验。

自定义的规则如下:

admin.v_email = function(value, item){
    var exp = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if(value && !exp.test(value) ){
        return '邮箱格式不正确';
    }
}

admin.v_phone = function(value, item){
    var exp = /^1[0-9]{10}$/;
    if(value && !exp.test(value) ){
        return '请输入正确的手机';
    }
}

admin.v_url = function(value, item){
    var exp = /(^#)|(^http(s*)://[^s]+.[^s]+)/;
    if(value && !exp.test(value) ){
        return '链接格式不正确';
    }
}

admin.v_number = function(value, item){
    if(value && isNaN(value) ){
        return '只能填写数字';
    }
}

admin.v_date = function(value, item){
    var exp = /^(d{4})[-/](d{1}|0d{1}|1[0-2])([-/](d{1}|0d{1}|[1-2][0-9]|3[0-1]))*$/;
    if(value && !exp.test(value) ){
        return '日期格式不正确';
    }
}

admin.v_identity = function(value, item){
    var exp =/(^d{15}$)|(^d{17}(x|X|d)$)/;
    if(value && !exp.test(value) ){
        return '请输入正确的身份证';
    }
}

使用方法:

<input type="text" name="userName" lay-verify="v_phone" placeholder="" autocomplete="off" class="layui-input">
form.verify({
    v_email:admin.v_email,
    v_phone:admin.v_phone,
    v_url:admin.v_url,
    v_number:admin.v_number,
    v_date:admin.v_date,
})
原文地址:https://www.cnblogs.com/guoweijie/p/14368041.html