快速业务通道

服务端数据校验及客户端js脚本验证集成处理初探

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
d="rePostDateTextBox" value="aa" /><br />
        <input type="button" id="" value="统一验证" onclick="<%=vc.Checked("A")%>" />
<!--上面这个地方就是调用的地方,"<%=vc.Checked("A")%>"会产生一个js调用函数,A代表要 验证的组,产生的这个调用的函数执行完会返回一个表单是否验证通过的bool值 -->

    </div>
    </form>
</body>
</html>

上面这段代码就实现了客户端验证代码的注册及调用,应该来说还是比较简单的!

上面的调用上都写了相关的注释,如果有不明确的地方接着往下看:

//是否开启服务端验证
        bool isStartCheck = false;
        if (Request["command"] == "postBack")
        {
            /*---------------------------------------------------------------- ---------------------
             * 此处的bool值主要控制验证容器处在何种状态
             * 状态false:只注册客户端代码不实施服务端的验证
             * 状态true:验证客户端的数据并生成客户端代码字符串
             * -------------------------------------------------------------- -----------------*/
            isStartCheck = true;
        }

        //初始化验证容器的集合,并传入isStartCheck来控制验证的开启
        vc = new ValidatorContainer(isStartCheck);

        //设置当前的验证组(些处可以根据你自己的页面逻辑来选择验证,不设置为验证所 有)
        vc.GroupName = "A";

上面这段代码里面是初始化开关条件变量以及初始化验证器,以及验证的组名,这个地方组名其实是 非必须的,如查不添加这个组名,组件会自动分

配到"Default"组中;在new  ValidatorContainer(isStartCheck)中的isStartCheck是用为启动验证 的,如果这个值是false的话,那么

ValidatorContainer就只会生成客户端代码而不执行数据有效性验证!

接下来再看下面的代码:

//获取并验证客户端的数据
        int month = vc.Add(Validator<int>.Init(MyRequest.GetInt ("monthTextBox",0)))//注意这一行,我们需要把验证器放置到对应的容器中再进行验证
            .Integer("月份必须为1到12的整数")
            .Range(1,12,"月份必须在1到12月之间")//验证数字和范围
            .SetGroupName("A")//设置其所属的验证组,可以不设置(不设置会被分配到 default组)
            .RegClientValidator("monthTextBox", "请输入出生月", "monthErrorSpan")//将验证代码注册到客户端页面(也可以选择不注册)。
            //参数说明,参数1:"monthTextBox"表示html控件的id,[参数2]:"请输入出 生月"表示提示Div中的文字(该参数为重载),[参数3]:"monthErrorSpan"表示错误信息所显示的框(该 参数为重载)
            .Retrun(1);//返回验证通过后的值,否则返回默认值(此处返回的是 1);

这个里面我们可以看出来,我们用vc.Add(Validator<T> v)方法来往验证器里面添加验证器, 特别注意的地方是

Validator本身具备了Integer、Range 等方法,但是我们这里不可

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号