转:http://blog.163.com/zhaowencong_2010/blog/static/20402815220122103155643/

有时候我们在注册一个帐号时要求我们留下电话号码,可能有私人电话、公司电话,可能至少要输入一个电话号码!这时可能会用到这样的控件!

CustomValidator 控件可对输入控件执行用户定义的验证。

下面是有关CustomValidator的一些使用方法!

当向页面中插入CustomValidator控件时那立了两个事件处理程序:一个用于客户端,一个用于服务器端的有效验证:

<asp:CustomValidator ID="CustomValidator1" runat="server"  ErrorMessage="请至少输入一个电话号码"       ClientValidationFunction="validatePhoneNumber"     

     onservervalidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>

当点击“发送”按扭时在ClientValidationFunction中设置的Javascript中设置的函数是在ClientValidationFunction中触发的

Javascript代码如下:

<script type="text/javascript">

function validatePhoneNumber(source, args) {         var txtPhoneHome = document.getElementById('<%=txtPhoneHome.ClientID %>');         var txtPhoneBussiness = document.getElementById('<%=txtPhoneBussiness.ClientID %>');         if (txtPhoneHome.value != "" || txtPhoneBussiness.value != "")         {             args.IsValid = true;         }         else         {             args.IsValid = false;         }     } </script>

Code Behind如下:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)     {         if (txtPhoneHome.Text!=string.Empty||txtPhoneBussiness.Text!=string.Empty)         {             args.IsValid = true;         }         else         {             args.IsValid = false;         }     }

用户控件的标记部分中定义的这个函数包含对电话号码文本框的两个引用:

var txtPhoneHome = document.getElementById('<%=txtPhoneHome.ClientID %>');         var txtPhoneBussiness = document.getElementById('<%=txtPhoneBussiness.ClientID %>');

txtPhineBussiness.ClientID的代码封闭在服务器端<%=  %>块中。这段代码在服务器上运行,然后将控件的ClientID返回给服务器

IsValid 布尔值,该值指示关联的输入控件是否通过验证。

验证性控件的使用--验证两个文本框至少有一个不为空CustomValidator的更多相关文章

  1. 【iOS开发-56】案例BUG:button的enabled、控件的userInteractionEnabled以及两种提示框UIAlert和UIActionSheet

    接上述案例找BUG:[iOS开发-51]案例学习:动画新写法.删除子视图.视图顺序.延迟方法.button多功能使用方法及icon图标和启动页设置 (1)BUG:答案满了就不能再点击optionbut ...

  2. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  3. Js表单验证控件-02 Ajax验证

    在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...

  4. RequiredFieldValidator控件--必填验证控件

    RequiredFieldValidator控件: ·RequiredFieldValidator控件也被称之为必填验证控件,顾名思义,也就是与RequiredFieldValidator控件关联的控 ...

  5. 验证标题是否存在(TextBox控件失去焦点验证)

    首先解释两个属性, AutoPostBack 属性用于设置或返回当用户在 TextBox 控件中按 Enter 或 Tab 键时,是否发生自动回传到服务器的操作. 如果把该属性设置为 TRUE,则启用 ...

  6. jquery.validate.js 一个jQuery验证格式控件

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  7. bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

    1.bootstrap-table 单击单行选中 $('#gzrwTable').on('click-row.bs.table', function(e, row, $element) { $('.s ...

  8. 使用MaskedTextBox控件实现输入验证

    实现效果: 知识运用: MaskedTextBox控件的 Mask属性 BeepOnError属性 MaskInputRejected事件 实现代码: private void Form1_Load( ...

  9. 用MVC的辅助方法自定义了两个控件:“可编辑的下拉框控件”和“文本框日历控件”

    接触MVC也没多长时间,一开始学的时候绝得MVC结构比较清晰.后来入了门具体操作下来感觉MVC控件怎么这么少还不可以像ASP.net form那样拖拽.这样设计界面来,想我种以前没学过JS,Jquer ...

随机推荐

  1. js 学习之路8:for循环

    1. for循环 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" content=&qu ...

  2. Asp.Net Core 实现服务的批量注册注入

  3. 有两个表A和B,均有key和value两个字段,如果B的key在A中也有,就把B的value替换为A中对应的value

    update B b set b.value=(select max(a.value) from A a where b.key=a.key) from A c where b.key=c.key) ...

  4. 什么是POE交换机?

    POE交换机和普通交换机的区别有: 1.POE交换机不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电 .普通的交换机主要是交换数据的功能,并没有具备供电的功能. 2.现在的网络高清摄像机 ...

  5. docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)

    与方案一一样都是把日志输出到本地文件系统使用filebeat进行扫描采集 不同的是输出的位置是不一样的 我们对docker进行如下设置 sudo docker service update  --lo ...

  6. Spring Boot 2.x 快速入门(上)HelloWorld示例

    本文重点 最近决定重新实践下Spring Boot的知识体系,因为在项目中遇到的总是根据业务需求走的知识点,并不能覆盖Spring Boot完整的知识体系,甚至没有一个完整的实践去实践某个知识点.最好 ...

  7. Configuring High Availability and Consistency for Apache Kafka

    To achieve high availability and consistency targets, adjust the following parameters to meet your r ...

  8. vue 使用localStorage解决vuex在页面刷新后数据被清除的问题

    通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...

  9. spring boot +mybatis(通过properties配置) 集成

    注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取 ...

  10. Linux:Day12(下) 进程、任务计划

    vmstat命令: vmstat [options] [delay [ count]] procs: r:等待运行的进程的个数: b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度): memor ...