想想自己的目标,看看自己的行动。

鱼缸里的鲸鱼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

    在SharePoint 2010中,增强了列表的验证机制,我们可以定义自己的验证公式,根据其他列的值或一定的验证条件来验证某一列,非常简单实用,通过一个例子一起来看一下。
    首先创建一个Custom List自定义列表,叫TestValidation,如图:

有两种方式来添加验证,一种是在为列表创建列时为该列添加验证公式,另一种是在列表设置中为已有列添加验证公式,首先来看第一种,我们来创建一个Age列,列类型选择的是Number,如图:

在该页的下方,可以看到Column Validation:

在Formula中,创建公式,比如,我要为这个Age列创建的验证条件是:要大于18岁,小于60岁,公式为:=AND(Age>=18,Age<=60),注意前边的等号,然后在User message中输入提示信息:The age of a worker must be between 18 and 60,这样当输入的年龄不在18和60之间,会提示这个信息,点击OK保存。
    来测试一下我们的公式,在“Add New Item”添加新项中,如果我输入的年龄不在18和60之间,在保存时会提示,如图:

Now, you see, the formula is working.
      另外一种方式,通过在列表设置中为现有列添加验证公式,与第一种基本类似,如图:列表设置—验证设置:

在这可以设置与其他列关联的验证公式,如图:

严格来说,还有一种添加验证公式的方式,通过代码,也非常简单:

 

 1 using (SPSite spSite = new SPSite("http://win-9smkc3gif6u"))
 2 {
 3     using (SPWeb spWeb = spSite.RootWeb)
 4     {
 5         SPList testValidation= spWeb.Lists.TryGetList("TestValidation");
 6 
 7         if (testValidation!= null)
 8         {
 9             SPFieldNumber age = 
10                        lstScores.Fields.GetField("Age"as SPFieldNumber;
11             age.ValidationFormula = 
12                        “=AND(Age>=18,Age<=60)";
13             age.ValidationMessage = 
14                        " The age of a worker must be between 18 and 60"
15             age.Update();                       
16         }
17     }
18 }

 


 

posted on 2010-03-02 13:33  盼盼程序员  阅读(817)  评论(0编辑  收藏  举报