C# 验证控件允许使用ValidationGroup给验证控件分组,分组后的两组验证控件可以独立使用,互不相干。比如一个页面有登录和注册两个部分,假如使用验证控件组,提交的时候会对所有的验证控件进行验证,分组后可以对登录和注册单独验证

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidationGroup.aspx.cs" Inherits="WebApplication1.ValidationGroup" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type ="text/css" >
.column
{
float:left ;
width :300;
margin-left :10px;
background-color :White ;
border :1px solid black;
padding :10px;
}
.red
{
color:Red ;
} body
{
background-color:Silver ;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class ="column" >
<fieldset >
<legend >Login</legend>
<p>Please login our website.</p>
<asp:Label ID ="lblUserName" runat ="server" AssociatedControlID ="txtUserName" Text ="User Name:"></asp:Label><br />
<asp:TextBox ID ="txtUserName" runat ="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID ="reqUserName" runat ="server" ControlToValidate ="txtUserName" Text ="(Required)" CssClass ="red" ValidationGroup ="login"></asp:RequiredFieldValidator> <br />
<asp:Label ID ="lblPassword" runat ="server" Text ="Password:" AssociatedControlID ="txtPassword"></asp:Label><br />
<asp:TextBox ID ="txtPassword" runat ="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID ="reqPassword" runat ="server" ControlToValidate ="txtPassword" CssClass ="red" Text ="(Required)" ValidationGroup ="login"></asp:RequiredFieldValidator>
<br /><br />
<asp:Button ID ="btnSummit" runat ="server" Text ="Login" onclick="btnSummit_Click" ValidationGroup ="login" />
</fieldset>
<asp:Label ID ="lblResult" runat ="server" ></asp:Label> </div> <div class ="column" >
<fieldset >
<legend>Register</legend>
<asp:Label runat ="server" Text ="First Name:" AssociatedControlID ="txtFirstName" ></asp:Label><br />
<asp:TextBox ID ="txtFirstName" runat ="server" ></asp:TextBox>
<asp:RequiredFieldValidator ID ="reqFirstName" runat ="server" ControlToValidate ="txtFirstName" Text ="(Required)" CssClass ="red " ValidationGroup ="register"></asp:RequiredFieldValidator>
<br /><br /> <asp:Button ID ="btnRegister" runat ="server" Text ="Register" onclick="btnRegister_Click" CausesValidation= ValidationGroup ="register" />
</fieldset>
<asp:Label ID ="lblRegisterResult" runat ="server" ></asp:Label>
</div>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication1
{
public partial class ValidationGroup : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void btnSummit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
lblResult.Text = "Login Successfully.";
} protected void btnRegister_Click(object sender, EventArgs e)
{
if (Page.IsValid)
lblResult.Text = "Register Successfully.";
} }
}

注:button控件也要设置ValidationGroup属性

C# 验证控件组的更多相关文章

  1. asp.net中验证控件的使用方法

    用于检查是否有输入值 :RequiredFieldValidator(必须字段验证) 按设定比较两个输入 :CompareValidator(比较验证) 输入是否在指定范围 :RangeValidat ...

  2. ASP.NET验证控件一

    为了更好地创建交互式Web应用程序.加强应用程序安全性,程序开发人员应该对用户输入的内容进行验证. ASP.NET提供了一系列输入验证控件,使用这些控件用户可以很方便地实现输入验证. ASP.NET还 ...

  3. Webform——验证控件

    验证控件一般是在注册的时候用到,是直接将JS代码封装到了控件里面,拉过来直接可以用,下面介绍一下主要用法: 1.CompareValidator:比较验证 常用属性:ControlToCompare ...

  4. ASP.NET中的验证控件

    ASP.NET提供了如下的控件: RequiredFieldValidator: 字段必填 (ControlTovalidate设定要验证的控件) RangeValidator: 值在给定的最大值,最 ...

  5. 表单验证控件Verify.js

    自己工作常用到表单录入验证,就顺手写了一个验证控件,刚开始写得很烂.多年后翻出来,又优化了一下,增加了一些功能.拿出来分享分享. 主要功能就是表单的录入验证. * 1.当录入框必填时,在控件后生成红色 ...

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

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

  7. webForm中的验证控件

    1.非空验证控件:RequireFieldValidator  :2.数据比较验证:CompareValidator :3.数据范围验证:RangeValidator :4.正则表达式验证:Regul ...

  8. NET中验证控件表达式汇总

    ASP.NET为开发人员提供了一整套完整的服务器控件来验证用户输入的信息是否有效.这些控件如下: 1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交 ...

  9. 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题

    项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...

随机推荐

  1. python获取https并且写文件日志

    # -*- coding: utf-8 -*- import os import os.path import shutil import chardet import urllib.request ...

  2. sql-server-dmv-starter-pack

    SELECT wait_type , ) AS [wait_time_s] FROM sys.dm_os_wait_stats DOWS WHERE wait_type NOT IN ( 'SLEEP ...

  3. WebGL学习笔记二——绘制基本图元

    webGL的基本图元点.线.三角形 gl.drawArrays(mode, first,count) first,代表从第几个点开始绘制即顶点的起始位置 count,代表绘制的点的数量. mode,代 ...

  4. 【转】简谈基于FPGA的千兆以太网

    原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...

  5. pod的时区问题

    1制作image时进行配置修改 2将宿主机的时区配置文件挂载到pod中(此处注意,宿主机之间需已经完成时间同步) volumeMounts: - name: host-time mountpath: ...

  6. Ubuntu搭建交叉编译开发环境

    在Linux驱动开发过程中,往往需要搭建交叉编译开发环境,其中,最重要的环节就是安装交叉编译工具链,本文介绍如何在Ubuntu下搭建交叉编译开发环境. 1.官网下载交叉编译工具链 链接如下: http ...

  7. centos7修改主机名的方法

    在CentOS7中,有三种定义的主机名: 静态的(Static hostname) “静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名. 瞬态的(Tansie ...

  8. leetcode动态规划笔记一---一维DP

    动态规划 刷题方法 告别动态规划,连刷 40 道题,我总结了这些套路,看不懂你打我 - 知乎 北美算法面试的题目分类,按类型和规律刷题 题目分类 一维dp House Robber : 求最大最小值 ...

  9. C# IEnumerable接口

    问: 集合很好用,而且非常简单,但是我不明白 为什么数组.ArrayList 和 Hasttable 这些集合都能用foreach直接遍历呢?我想自己定义一个集合类,应该怎么做呢? 回答:这个问题问的 ...

  10. vue-quill-editor回显时移除焦点

    直接复制开用 解决在回显数据的时候会默认聚焦 this.$refs.myQuillEditor.quill.enable(false); setTimeout(() => { this.$ref ...