jquery.validate 表单验证

这个是我星期六的时候研究了一天的成果,虽然效率有点低吧,自学能力有点弱,不过自己还是很满意了吧,现在能自己套到程序中并成功运行,达到自己想要的效果

首先引用 Jquery Jquery.Vaildate

自定义方法,正则验证

            jQuery.validator.addMethod("isPhone", function(value, element) {
                var length = value.length;
                var mobile = /^[1][345789]\d{9}$/;
                return this.optional(element) || (length == 11 && mobile.test(value));
            }, "手机号码格式错误");
            jQuery.validator.addMethod("IsVaildPersonCard", function(value, element) {
                var length = value.length;
                var personCard = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
                return this.optional(element) || (length == 15 || length == 18 && personCard.test(value));
            }, "身份证格式错误");
            jQuery.validator.addMethod("isLoginName", function(value, element) {
                var length = value.length;
                var loginname = /^[a-zA-Z]{1}[a-zA-Z0-9_]{5,15}$/;
                return this.optional(element) || (5 < length < 16 && loginname.test(value));
            }, "登录名格式错误");

表单验证

 //通过id查找要进行校验的表单
            $("#regForm").validate({
                //设置校验触发的时机,默认全是true。不要尝试去设置它为true,可能会有js错误。
                //onsubmit:false,
                //onfocusout:true,
                //onkeyup:false,
                //onclick:false,

                //验证通过后执行的动作
                //success:function(label){
                //    label.text("ok!").addClass("success");
                //},
                //手动设置错误信息的显示方式
                errorPlacement: function(error, element) {
                    //error.appendTo(element.parent().next());
                    error.appendTo(element.next());
                    $(".yanzheng .error").css("color", "#dc143c");
                    if (element.is("#VerifyCode")) {
                        error.appendTo(element.next().next().next());
                        $(".yanzheng .error").css("color", "#dc143c");
                    }
                        
                    else if (element.is(":checkbox")) {
                        error.appendTo(element.siblings("span"));
                    }
                    //        else
                    //        error.appendTo( element.parent() );
                },
                rules: {
                    LoginName: {
                        required: true,
                        rangelength: [6, 15],
                        isLoginName: true,
                        remote: {
                            type: "post",
                            url: "/Account/ValidateLoginName",
                            data: {
                                username: function() {
                                    return $("#LoginName").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function(data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }

                    },
                    UserPassword: {
                        required: true,
                        minlength: 6
                    },
                    RePassword: {
                        required: true,
                        minlength: 6,
                        equalTo: "#UserPassword"
                    },
                    EmailAddress: {
                        required: true,
                        email: true,
                        remote: {
                            type: "post",
                            url: "/Account/ValidateEmail",
                            data: {
                                username: function() {
                                    return $("#EmailAddress").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function(data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }
                    },
                    MobilePhone: {
                        required: true,
                        digits: true,
                        rangelength: [11, 11],
                        isPhone: true,
                        remote: {
                            type: "post",
                            url: "/Account/ValidatePhone",
                            data: {
                                username: function() {
                                    return $("#MobilePhone").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function(data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }
                    },
                    IdCard: {
                        required: true,
                        IsVaildPersonCard: true,
                        remote: {
                            type: "post",
                            url: "/Account/ValidateIdCard",
                            data: {
                                username: function() {
                                    return $("#IdCard").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function(data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }
                    },
                    DriverLicense: {
                        required: true
                    },
                    VerifyCode: {
                        required: true,
                        rangelength: [5, 5],
                        remote: {
                            type: "post",
                            url: "/Account/ValidateVerifyCodeSupplier",
                            data: {
                                username: function () {
                                    return $("#VerifyCode").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function (data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }
                    },
                    reg_agreement: "required",
                },
                //校验提示信息
                messages:
                {
                    LoginName: {
                        required: "请输入用户名",
                        rangelength:
                            "长度必须为{0}到{1}个字符",
                        isLoginName: "请输入合法的登录名",
                        remote: "该用户名已存在"
                    },
                    UserPassword: {
                        required: "请输入密码",
                        minlength:
                            "密码至少是{0}个字符"
                    },
                    RePassword: {
                        required: "请输入确认密码",
                        minlength:
                            "确认密码至少是{0}个字符",
                        equalTo:
                            "确认密码与密码不相等"
                    },
                    EmailAddress: {
                        required: "请输入邮箱",
                        email: "请输入正确的邮箱格式",
                        remote: "该邮箱已注册"
                    },
                    MobilePhone: {
                        required: "请输入手机号",
                        digits: "请输入正确的手机号",
                        rangelength: "请输入正确的手机号",
                        IsPhone: "请输入一个有效的联系电话",
                        remote: "该手机号已注册"
                    },
                    IdCard: {
                        required: "请输入身份证号",
                        remote: " 该身份证号已被注册"
                    },
                    DriverLicense: {
                        required: "请输入驾驶证号",
                        IsVaildPersonCard: "请输入合法的身份证号"
                    },
                    VerifyCode: {
                        required:"请输入验证码",
                        rangelength: "请输入正确的验证码",
                        remote:"输入验证码有误"
                    }, 
                    reg_agreement: "您没有同意使用协议",
                }
            });

后台异步验证

               remote: {
                            type: "post",
                            url: "/Account/ValidateVerifyCodeSupplier",
                            data: {
                                username: function () {
                                    return $("#VerifyCode").val();
                                }
                            },
                            dataType: "html",
                            dataFilter: function (data, type) {
                                if (data == "True") {
                                    return true;
                                } else {
                                    return false;
                                }
                            }
                        }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。