zoukankan      html  css  js  c++  java
  • jquery validate 自定义验证方法(前后台交互)

    JS:

    var dataCode = {
        key: "IsHasAUserName",
        AUserName: function() {

            return $("#AUserName").val();
        }
    };
    var remoteHasAUserNameFun= GetRemoteInfo('/Service/CommanHandler.ashx', dataCode);

    $("#form1").validate({
            rules: {
                txtUserName: {
                    required: true,
                    remote: remoteHasAUserNameFun
                },
                txtPass: {
                    required: true,
                    minlength: 6
                },
                txtConfirmPass: {
                    required: true,
                    equalTo: "#txtPass"
                },
                txtName: {
                    required: true
                }
            },
            messages: {
                txtUserName: {
                    required: "请输入账号"
                },
                txtPass: {
                    required: "请输入新密码",
                    minlength: "密码最少不得少于6位字符"
                },
                txtConfirmPass: {
                    required: "请输入确认密码",
                    equalTo: "密码不一致。"
                },
                txtName: {
                    required: "请输入姓名"
                }
            },
            errorLabelContainer: $(".bg-info")
        });

    C#:

    private XmlDocument IsHasAUserName()
            {
                string AUserName = contextWai.Request.Form["AUserName"];
    
                AjaxClass ajaxClass = new AjaxClass();
                commonHelperManager manager = commonHelperManager.GetInstrance();
                object result = manager.ExecuteScalar(sql, CommandType.Text, Field.SetParam("@AUserName",AUserName));
                if (Convert.ToInt32(result)>0)
                {
                    ajaxClass.Msg = "账号已存在,请另换一个。";
                    ajaxClass.Result = 0;
                }
                else
                {
                    ajaxClass.Msg = "验证成功。";
                    ajaxClass.Result = 1;
                }
                string resultxml = Utility.Tool.Serialize(ajaxClass);
    
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(resultxml);
                contextWai.Response.ContentType = "text/xml"; //must be 'text/xml'
                contextWai.Response.ContentEncoding = System.Text.Encoding.UTF8; //we'd like UTF-8
                doc.Save(contextWai.Response.Output); //save to the text-writer
                return doc;
            }

    另外一种:

    //验证
    function validateFrom() {
        jQuery.validator.addMethod("CheckPinYin", function (value, element) {
            if ($.trim(value) != "") {
                var result = "0";
    
                $.ajax({
                    url: '/SystemPage/Service/News/NewsClassHandler.ashx',
                    type: 'POST',
                    async: false,//同步,在这里不能用异步的,因为validate是即时验证的
                    data: {
                        "key": "CheckPinYinOfSonClass",
                        "CPinYin": value,
                        "ClassId": classID,
                        "PageURL": "/SystemPage/News/AddNewsClass.aspx"
                    },
                    dataType: 'text',
                    timeout: 8000,
                    success: function (e) {
                        result = e;//不能讲判断放在这里,放在外面才可以判断,可能在$.ajax里return true or false表示的意思冲突了。
                    }
                });
                if (result == "1") {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }, "此标识已存在,请另换一个");
    
        $("#form1").validate({
            rules: {
                txtCName: {
                    required: true
                },
                txtCByName:
                {
                    required: true
                }, txtCPinYin: {
                    required: true,
                    CheckPinYin: true
                }, txtCNewsTemplateUrl: {
                    required: true
                }, txtClassTemplet:
                {
                    required: true
                }
                , txtNewsTemplet:
                {
                    required: true
                }
            },
            messages: {
                txtCName: {
                    required: "请输入……"
                }, txtCByName:
                {
                    required: "请输入……"
                }, txtCPinYin: {
                    required: "请输入……"
                }, txtCNewsTemplateUrl: {
                    required: "请输入……"
                }, txtClassTemplet:
                {
                    required: "请选择……"
                }
                , txtNewsTemplet:
                {
                    required: "请选择……"
                }
            }
            , success: function (label) {
                label.html(" ").attr("class", "success").siblings("label").remove();
            },
            errorPlacement: function (error, element) {
                $(element).next("span").find(".success").remove();
                error.appendTo(element.next("span"));
            }
        });
    }
  • 相关阅读:
    Django学习(二) Django框架简单搭建
    Django学习(一) Django安装配置
    Python学习(一) Python安装配置
    注册第一天,纪念一下
    小程序笔记
    详解HTML5中的进度条progress元素简介及兼容性处理
    服务管理
    yum
    管道,输出,管道,重定向,grep
    VIM
  • 原文地址:https://www.cnblogs.com/hougelou/p/4194308.html
Copyright © 2011-2022 走看看