zoukankan      html  css  js  c++  java
  • 12 验证控件的共性

    • 页面中的IsValid属性用来判断页面中的所有Validator是否都校验通过,中有都检验通过才为True,即使页面中的Validator服务端校验报错(如禁用JS,跳过客户端校验),在服务端方法中的业务代码(比如按钮的click)也会被执行,因此如果代码在数据校验不通过的不能执行就需要判断IsValid的值。
    • 所有验证控件都有Display属性,用来决定如何显示错误信息。有三个值:

              Static: 没有错误信息的时候,控件的Visiblity样式为Hidden来实现隐藏

              Dynamic:没有错误信息的时候,控件的display样式为none来实现隐藏。

             None: 不显示任何信息,用来配合ValidationSummary的

             前两者的区别是visiblity:hidden隐藏控件仍然会占用空间,而display:none则不会占用空间。

            比如一个日期控件后放了不能为空的验证控件和比较验证控件,如果不能为空的验证控件的display为static,则当

    输入了一个信息后但不能满足比较验证的条件,不能为空的验证所占用的空间显示空白,但比较验证的控件就会显示出错信息,这样就会发现比较验证信息和它验证的控件离的有点远,如果把不能为空的验证控件的 display设置成 dynamic的话,就会发现比较验证控件提示信息会自动向要验证的控件靠拢。

    • 几乎所有控件都有ControlToValidate,Text属性,所有的控件几乎都要在客户端和服务端进行校验。
    • 如果在一个页面中同时放置注册和登录表单,那么他们的验证就会同时进行,这样即使登录,也会验证注册的东西,我们可以使用验证组来解决这个问题,将同一组的控件(表单、提交按钮、Validator等)的ValidationGroup设为相同的值就可以了,这样的话当点击button提交表单时就只会验证和它ValidationGroup相同名字的控件。
    • 如果将按钮控件(button,imagebutton,linkbutton)的CausesValidation属性设置为false,则这个按钮的点击不触发校验。  比如:在登录页面中有个连接按钮是注册用的,当点击“注册”按钮时并不许去验证用户名等信息,所以只要设置“注册”按钮的CausesValidation属性为false就可以了。
  • 相关阅读:
    《Linux C一站式学习》第七章 结构体
    《Linux C一站式学习》第三章 简单的函数
    《Windows程序设计》第一章 起步
    CSS在线课程学习笔记
    《Windows程序设计》第三章 窗口和消息
    window.open与window.showModalDialog中主页面与从页面间的通信(原创) 中庸
    php文件实现将大文件导入到mysql数据库中
    我为何爱读代码?你为何也应当爱?
    解决phpMyAdmin导入mysql数据库超过2M的问题
    对linux交换分区swap的一些认识总结
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/3129546.html
Copyright © 2011-2022 走看看