• ASP.Net数据验证中的验证组


    数据验证是为了防止用户录入错误数据或者漏掉必须填写的数据而使得服务器出现不必要的错误,ASP.NET有验证控件方便我们进行数据验证,但是有时会出现这样或者那样的问题,我今天就遇到了一个,把验证控件说一下吧
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
     
    <asp:Button ID="Button1" runat="server" Text="Button1" />
    上面的代码实现了最基本的验证,用户如果不输入信息而直接点击Button1那么ErrorMessage就会显示出来
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
    <asp:Button ID="Button1" runat="server" Text="Button1" />
    <asp:Button ID="Button2" runat="server" Text="Button2" />
    在上面的代码中用户如果不输入信息而点击Button1或者Button2那么ErrorMessage都会显示出来.如果我不想让Button2引发验证怎么办呢? 好办,给Button2添加一个属性 CausesValidation="false" 如下
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
    <asp:Button ID="Button1" runat="server" Text="Button1" />
    <asp:Button ID="Button2" runat="server" Text="Button2"  CausesValidation="false"  />

    这样用户如果在不输入信息的情况下直接点击Button2  ErrorMessage就不会出现
    但是有时候需要我们在同一页面验证不同的信息,你肯定不能将按钮的 CausesValidation="false" 加上,我们需要加的是ValidationGroup属性
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="basicInfo" runat="server" ErrorMessage="error form textbox1"></asp:RequiredFieldValidator>
    <asp:Button ID="Button1" ValidationGroup="basicInfo" runat="server" Text="Button1" />
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="TextBox2" ValidationGroup="moreInof" runat="server" ErrorMessage="error form textbox2" ></asp:RequiredFieldValidator>
    <asp:Button ID="Button2" ValidationGroup="moreInof" runat="server" Text="Button2" />
    这样就实现了你点击Button只引发对特定button的验证而不会影响其他的button

    总结:使用验证组可以将页面上的验证控件归为一组。可以对每个验证组执行验证,该验证与同一页的其他验证组无关。
    将要分组的所有控件的 ValidationGroup 属性设置为同一个名称(字符串)即可创建验证组。可以为验证组分配任何名称,但必须对该组的所有成员使用相同的名称。
  • 相关阅读:
    HTML <input> 标签的 maxlength 属性
    HTTP 方法:GET 对比 POST
    怎么在html页面和js里判断是否是IE浏览器
    一行神奇的javascript代码
    c# 数据库批量插入数据SqlBulkCopy 示例
    c# 多线程调用窗体上的控件 示例
    sqlserver查找使用了某个字段的所有存储过程
    SQL Server 数据库性能优化
    SQL语句的执行过程
    Sql Server- 性能优化辅助指标SET STATISTICS TIME ON和SET STATISTICS IO ON
  • 原文地址:https://www.cnblogs.com/interboy/p/566998.html
Copyright © 2020-2023  润新知