• Asp.net 基础2(验证)


    1,客户端验证:

    JavaScript 脚本,

    代码
    <script language="javascript">
        
    //验证输入框的输入不能为空
        function CheckForm(){
            var ret
    =false;
            
    if(document.all["txtName"].value=="")
             document.all[
    "name_erroe"].style.visibility="visible"
            
    else if(document.all["txtPassword"].value=="")
                document.all[
    "password_error"].style.visibility="visible";
            
    else 
            ret
    =true;
            
    return ret;
        }
    </script>

    <form id="form1" runat="server" onsubmit="return CheckForm()">

    仅仅是客户端验证,首先,客户端浏览器要支持脚本,但并非所有的浏览器都支持这种功能。其次,恶意用户可以很容易的破坏客户端脚本,从而提交不良数据

    2,服务端验证 

    2.1 RequiredFieldValidator 控件

    代码
    <head runat="server">
        
    <title>测试RequrieField</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            
    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please input Name"
                ControlToValidate
    ="txtName" InitialValue="" BackColor="Gray" Display="Dynamic">
            
    </asp:RequiredFieldValidator>
            
    <asp:Button ID="btnOk" runat="server" Text="确定" />
        
    </div>
        
    </form>
    </body>
    </html>

    2.2 CompareValidator控件

    代码
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        
    <title>无标题页</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            
    <asp:Label ID="Label1" runat="server" Text="年龄:"></asp:Label>
            
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            
    <asp:CompareValidator ID="CompareValidator1"
             runat
    ="server" ErrorMessage="年龄必须大于0!" ControlToValidate ="TextBox1" Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
        
    </div>
        
    <asp:Button ID="Button1" runat="server" Text="确定" />
        
    </form>
    </body>
    </html>

     2.3 RangeValidator 控件

    代码
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        
    <title>无标题页</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
        
    <asp:Label ID="lable" runat="server">百分数:</asp:Label>
            
    <asp:TextBox ID="txtRange" runat="server"></asp:TextBox>
            
    <asp:RangeValidator ID="RangeValidator1" 
            runat
    ="server" ErrorMessage="百分数在:1-100之间!" ControlToValidate="txtRange" Type="Integer" MaximumValue="100" MinimumValue="1"></asp:RangeValidator>
            
    <asp:Button ID="Button1" runat="server" Text="Button" />
        
    </div>
        
    </form>
    </body>
    </html>

     2.4 RegularExpressionValidator 控件

    代码
            <asp:TextBox ID="txtIp" runat="server"></asp:TextBox>
            
    <asp:Label ID="Label1" runat="server">数字输入:</asp:Label>
            
    <asp:RegularExpressionValidator ID="regular" runat="server"
             ErrorMessage
    ="请输入数字!" ControlToValidate="txtIp" ValidationExpression="\d+"></asp:RegularExpressionValidator>
            
    <asp:Button ID="Button1" runat="server" Text="Button" />
        
    </div>
        
    </form>

    2.5 CustomValidator 

    代码
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomValidateForm.aspx.cs" Inherits="TestCodeBehind.CustomValidateForm" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script language="javascript" type="text/javascript">
    <!--
        function CheckIsEven(source,args){
            
    if(args.Value%2==0)
                args.IsValid
    =true;
            
    else
                args.IsValid
    =false;
        }
    -->
    </script>
    <script language="C#" runat="server">
        
    private void ValidIsEven(object source, ServerValidateEventArgs args)
        {
            
    int value=int.Parse(args.Value);
            
    if (value % 2 == 0)
                args.IsValid 
    = true;
            
    else
                args.IsValid 
    = false
        } 
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        
    <title>无标题页</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
        
        
    </div>
        
    <asp:Label ID="Label1" runat="server" Text="偶数:"></asp:Label>
        
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        
    <asp:CustomValidator ID="cutomer" runat="server"
         ControlToValidate
    ="TextBox1" ClientValidationFunction="CheckIsEven" OnServerValidate="ValidIsEven" ErrorMessage="请输入偶数!"></asp:CustomValidator>
            
    <asp:Button ID="Button1" runat="server" Text="确定" />
        
    </form>
    </body>
    </html>
  • 相关阅读:
    解决KDE桌面附带文件索引框架Baloo占用资源过多问题
    [Journey with golang] 7. Traps
    [Journey with golang] 6. Reflection
    Codeforces Round #614 (Div. 2)
    [Journey with golang] 5. Concurrent
    2018-2019 9th BSUIR Open Programming Championship
    2019-2020 ACM-ICPC Pacific Northwest Regional Contest
    UFPE Starters Final Try-Outs 2020
    2019 ICPC Asia Taipei Hsinchu Regional Contest
    [Journey with golang] 4. Interface
  • 原文地址:https://www.cnblogs.com/csharponworking/p/1732799.html
Copyright © 2020-2023  润新知