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}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{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,
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM