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就可以了。
  • 相关阅读:
    工作流-1
    net core体系-Xamarin-2概要(lignshi)
    net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了
    手机支持NFC
    net core体系-Standard-1概述
    运营-赵本山最近有点烦:二人转产业链滑铁卢 关联公司IPO预披露
    MSSql-1内部数据库版本号
    (JAVA保留小数问题,基础)Probability hdu2131
    (stripTrailingZeros)A == B hdu2054
    (reverse)Palindromes hdu2163
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/3129546.html
Copyright © 2011-2022 走看看