客户端和服务器端验证:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

RequiredFieldValidator:是否为空

RangeValidator:范围(修改Type)

RegularExpressionValidator:正则表达式验证

CustomValidator:自定义验证(代码自己写):先设置ClientValidationFunction一个事件名:然后在本页面内<head>内写好方法具体要怎么验证:

eg:自定义的验证的3

1.客户端验证:

  <script language="javascript">

    function ClientClick(o,e)//为什么传参数:因为只有传过来参数后才能得到是否通过验证IsValid

    {

    var n=e.Value;//是输入的值

    if(n%2==0)

    e.IsValid=true;//判断提交

    else

    e.IsValid=false;

    }

    </script>

    注意:当你使用的浏览器不支持脚本时:设置:EnableClientScript="false",以便可以在服务器端进行对它验证显示

2.服务器端验证:重复客户端验证:为了保证安全(因为有些浏览器不支持脚本),只有设置了EnableClientScript="false"时才能在服务器端看见效果

   protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

    {

        //重复客户端验证:为了保证安全(因为有些浏览器不支持脚本)

        int n=int.Parse(args.Value);

        if (n % 2 == 0)

            args.IsValid = true;

        else

            args.IsValid = false;

    }

3.页面验证:为了只有所有的验证通过验证时才存入数据库否则提示:

 protected void Button1_Click(object sender, EventArgs e)

    {

        //页面验证:为了只有所有的验证通过时才存入数据库

        if (Page.IsValid)

        {

            Label1.Text = TextBox1.Text;

        }

        else

            Label1.Text = "请输入偶数";

    }

 

CompareValidator:一般用于比较验证(比较有两种:1.和自已输入的固定值比较:设置ValueToCompare2.和控件比较:设置ControlToCompare)

RangeValidator:总验证信息显示

 

1.Display:组合验证时尤为重要即多个验证控件同时使用在一个控件上,可以控制两个验证控件距控件的距离(注意:设置时两个验证控件必须全部设定)

2.当你同时设置了ErrorMessageText时,只显示Text上的设置

3.其他的验证控件不验证空值,所以一般RequireFieldValidator和其他控件一起使用

4.CompareValidator不只用于比较两密码是否相同,还可以用TypeOperator属性进行其他操作

   eg:验证生日时:用CompareValidatorType改为Date并且Operator改为DataTypeCheck(数据类型检查)

 

5.正则表达式验证:

\w:字母和数字,下划线

+:一次或多次

(s)?可以有s也可以没有

36位的数字或字母(包含下划线):\w{3,6}

1位汉字:[\u4e00-\u9fa5]

 

6.ValidationGroup:验证组:为了控制验证的范围

7.用户自定义控件:<ucl:web>web:标签名(TagName),ucl标签前缀(TagPrefix)

 

1.页面与用户控件的交互:(用户控件和界面传值)

  //方式1:找控件

        string s = ((TextBox)用户ID.FindControl("TextBox1")).Text;

        Label1.Text=s;

  //方式2:定义属性

    public int age

    {

        get {return int.Parse(TextBox1.Text); }

        set { TextBox1.Text = value.ToString(); }

    }

    public DateTime myBirth

    {

        get//读访问器

        {

            return Convert.ToDateTime(TextBox2.Text);

        }

        set

        {

            TextBox2.Text = value.ToLongTimeString();

        }

    }

2.页面.aspx改为用户控件:

   1..aspx改为.ascx

   2.把源代码中的<html>标签删除

   3.把代码中的public partial class Default2 : System.Web.UI.Page中的Page改为UserControl