formValidator 表单验证

出处:https://www.jb51.net/article/31835.htm
$(function () {
    try {
        $.formValidator.initConfig({
            formid: "formTable",
            errorfocus: false,
            submitonce: true,
            tipstyle: "both",
            onerror: function () { // 验证不通过时的回调函数
                alert("红色提示处输入非法,请根据提示修改!");
            }
        });
        //验证字符串(必填)
        $("#name").formValidator({ // 验证:模块名称
            onshow: "(必填)",
            onfocus: "(必填)不超过50个字符",
            oncorrect: "(正确)"
        }).inputValidator({
            min: 1,
            max: 50,
            onerrormin: "(错误)不能为空",
            onerrormax: "(错误)不超过50个字符,汉字算两个字符"
        });

        //验证字符串(选填)
        $("#name").formValidator({ // 验证:模块名称
            onshow: "(选填)",
            onfocus: "(选填)不超过50个字符",
            oncorrect: "(正确)",
            empty: true
        }).inputValidator({
            min: 1,
            max: 50,
            onerrormin: "(错误)不能为空",
            onerrormax: "(错误)不超过50个字符,汉字算两个字符"
        });

        //验证时间
        $("#addDate").formValidator({ // 验证:发送时间
            onshow: "(必填)",
            onfocus: "(必填)请选择操作时间",
            oncorrect: "(正确)"
        }).functionValidator({
            fun: function (val, elem) {
                if (!/^\d{4}-\d{2}-\d{2}[ ]\d{2}:\d{2}$/.test(val)) {
                    return "(错误)请选择操作时间";
                }
                return true;
            }
        });

        //ajax验证
        $("#account").formValidator({ // 验证:模块名称
            onshow: "(必填)",
            onfocus: "(必填)不超过50个字符",
            oncorrect: "(正确)"
        }).inputValidator({
            min: 1,
            max: 50,
            onerrormin: "(错误)不能为空",
            onerrormax: "(错误)不超过50个字符,汉字算两个字符"
        }).ajaxValidator({
            type: "post",
            url: "url",
            success: function (data) {
                if (data == "0") {
                    return true;
                } else if (data == "1") {
                    return false;
                }
            },
            onerror: "该账号已被占用,请更换!"
        });

   $("#id").formValidator({onShow:"请输入",onFocus:"不能为空",onCorrect:"输入正确"}).inputValidator({min:1,empty:{leftEmpty:false,rightEmpty:false,emptyError:'不能有空格'},onError:"不能为空"}).ajaxValidator({
        type : "post",
        url : "url",
        data : {parent_id:function(){return $("#id").val()},name:function(){return $("#id").val()},default:'value' },
        datatype : "json",
        async:'false',
        success : function(res){
            var json = $.parseJSON(res);
            return json.status == 1 ? false : true;
        },
        onError : "已存在",
        onWait : "请稍候..."
    }).defaultPassed();
 返回为:$this->error('信息'); 或 $this->success('信息');

        //密码及重复密码验证
        $("#password").formValidator({ // 验证:模块名称
            onshow: "(必填)",
            onfocus: "(必填)不超过11个字符",
            oncorrect: "(正确)"
        }).inputValidator({
            min: 1,
            max: 50,
            onerrormin: "(错误)不能为空",
            onerrormax: "(错误)不超过11个字符,汉字算两个字符"
        });

        $("#passwordRepeat").formValidator({
            onshow: "(必填)",
            onfocus: "(必填)2次密码必须一致",
            oncorrect: "(正确)"
        }).compareValidator({
            desid: "password",
            operateor: "=",
            onerror: "(错误)2次密码不一致,请确认"
        });

        //图片格式验证
        $("#tcCodeLogo").formValidator({
            onshow: "(选填)",
            onfocus: "(选填)请上传图片文件",
            oncorrect: "(正确)",
            empty: true
        }).regexValidator({
            regexp: regexEnum.picture,
            onerror: "只能上传图片文件"
        });

        //数值验证
        $("#nameNum").formValidator({ // 验证:模块名称
            onshow: "(必填)",
            onfocus: "(必填)值1到50",
            oncorrect: "(正确)"
        }).inputValidator({
            min: 1,
            max: 50,
            type: "value",
            onerrormin: "(错误)不能为空",
            onerrormax: "(错误)值1到50"
        });
        //电话验证
        $("#linkPhone").formValidator({
            onshow: "(选填)",
            onfocus: "(选填)",
            oncorrect: "(正确)",
            empty: true
        }).regexValidator({
            regexp: "^(\\d{3,4}-?\\d{7,8}|(13|15|18)\\d{9})$",
            onerror: "(错误)电话号码格式不正确,请检查"
        });

        //EMail验证
        $("#linkEmail").formValidator({
            onshow: "(选填)",
            onfocus: "(选填)请选择正确EMail格式",
            oncorrect: "(正确)",
            empty: true
        }).regexValidator({
            regexp: regexEnum.email,
            onerror: "(错误)Email格式不正确,请检查"
        });

        //select验证
        $("#testSelect").formValidator({
            onshow: "(必填)",
            onfocus: "(必填)请选择选项",
            oncorrect: "(正确)"
        }).inputValidator({
            min: 0,  //开始索引
            onerror: "你是不是忘记选择学历了!"
        });

        //隐藏时,默认验证通过
        $("#smsProductName").formValidator({ // 验证
            onshow: "(必填)",
            onfocus: "(必填)不超过50个字符,汉字算两个字符",
            oncorrect: "(正确)"
        }).functionValidator({
            fun: function (val, elem) {
                if ($("#smsProductName").is(":hidden")) {
                    return true;
                }
                if (!/^\S{1,50}$/.test(val)) {
                    return "(错误)不超过50个字符,汉字算两个字符";
                }
                return true;
            }
        });
        //多选选择框的验证方式 略有点复杂了
        $(":checkbox[name='productType']").formValidator({
            onshow: "(至少选择一个)",
            onfocus: "(至少选择一个)",
            oncorrect: "(正确)"
        }).functionValidator({
            fun: function (val, elem) {
                var objs = $(":checkbox[name='productType']");
                for (var i = 0; i < objs.length; i++) {
                    if ($(objs[i]).attr("checked") == true) {
                        $('#productTypeTip').removeClass();
                        $('#productTypeTip').addClass("onSuccess");
                        $('#productTypeTip').html();
                        $('#productTypeTip').html("<nobr>正确</nobr>");
                        return true;
                    }
                }
                $('#productTypeTip').removeClass();
                $('#productTypeTip').addClass("onError");
                $('#productTypeTip').html();
                $('#productTypeTip').html("<nobr>(至少选择一项)</nobr>");
                return false;
            }
        });
    } catch (e) {
        alert(e);
    }
});

posted @ 2021-08-18 15:54  bwteacher  阅读(261)  评论(0编辑  收藏  举报