zoukankan      html  css  js  c++  java
  • javascript调用服务端验证控件

        //*******************Ajax 调用验证控件(客户端调用服务器验证控件)********************
                    Page_ClientValidate(null); //页面上的所有验证控件执行验证
                    //js 可以获得页面上所有的验证控件在客户端是否验证通过,
                    // 在使用Page_IsValid前要先调用 Page_ClientValidate(null),因为他的默认值是true
                    //alert(Page_IsValid);
                    // ValidatorValidate(<%=RequiredFieldValidator1.ClientID%> , null, null)//调用指定的控件执行验证
                     // <%=RequiredFieldValidator1.ClientID%> .isValid=false;
                    //alert(<%=RequiredFieldValidator1.ClientID%> .isvalid)//获得指定的验证控件在客户端是否验证通过

             var isValid = true; //全局验证

          //txtLogid控件失去焦点时触发事件(验证用户名是否存在)
                    var IdExist = document.getElementById("<%=txtLogid.ClientID%>")
                IdExist.onblur = function () {
                  doAjax("GET", null, "../isAjaxHelper.ashx?userId=" + IdExist.value,<%=CustomValidator1.ClientID%>)//调用Ajax 异步操作   
                }

        //Ajas PostGet传值方式,prars参数,url提交页面,ContralID验证控件id
            function doAjax(PostGet, prars, url,ContralID) {
                xhr.open(PostGet, url, true);  //设置参数

                //设置回调函数  callback (不是 callback())
              
                if (PostGet == "POST") {
                    xhr.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded");
                    xhr.onreadystatechange = login;
                    xhr.send(prars); //出发
                }
                else {
                 xhr.onreadystatechange = function(){callback(ContralID)} ;
                    xhr.send(null);
                }

            }
            //回调函数1
            function callback(ContralID) {
                //检查 异步对象 的准备状态是否=4,如果等于4说明服务器已经将数据发回给异步对象了
                if (xhr.readyState >= 4) {
                    if (xhr.status == 200) {
                        var rest = xhr.responseText
                        if (rest != null) {
                            if (rest == 1) {
                                isValid = true;
                            }
                            else {
                                isValid = false;
                            }
             //***************调用指定的控件执行验证会执行ClientValidate(source, arguments)方法*****************
                             ValidatorValidate(ContralID , null, null);
                        }
                    } //正常返回,判断服务器返回的状态码是否=200
                    else {
                        alert(xhr.status);
                    }
                }
            }

         //**************************自定义验证控件设置是否验证通过***************************
            function ClientValidate(source, arguments) {
                if (isValid) {//用户名存在
                    arguments.IsValid = true;
                } else {
                    arguments.IsValid = false;
                }
            }

    ---------------------------------------------------------------------------------------

                                    <td valign="top" width="37%" align="left" style="height: 26px">
                                        <asp:TextBox ID="txtLogid" runat="server"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" BackColor="White"
                                            ControlToValidate="txtLogid" Display="Dynamic" ErrorMessage="用户名不能为空" InitialValue=""
                                            ForeColor="Red">*</asp:RequiredFieldValidator>
                                        <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="用户名已存在" ControlToValidate="txtLogid"
                                            ClientValidationFunction="ClientValidate" Display="Dynamic" ForeColor="Red">*</asp:CustomValidator>
                                        <label id="LabUser" style="color: Red; font: menu">
                                        </label>
                                    </td>

    ------------------------------------------------------------------------------------------

    以上是前台代码 有自定义验证控件(   <asp:CustomValidator ID="CustomValidator1" runat="server")  由于后台代码我是写在一般处理程序

    我不知道怎么做自定义验证控件服务端验证 希望大神们指点下

  • 相关阅读:
    福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)
    福大软工1816 · 第六次作业
    2018软工实践——团队答辩
    福大软工1816 · 第五次作业
    福大软工1816 · 第二次作业
    福大软工1816 · 第一次作业
    个人作业——软件产品案例分析
    第二次结对编程作业--毕设导师智能匹配
    结对项目之需求分析与原型设计
    调研《构建之法》指导下的全国高校的历届软工实践作品、全国互联网+竞赛、物联网竞赛等各类全国性大学生信息化相关的竞赛平台的历届作品
  • 原文地址:https://www.cnblogs.com/520cc/p/2751482.html
Copyright © 2011-2022 走看看