SharePoint2010字段值校验

摘要:

       估计有很多朋友已经有相关方面的文章了,不过还是希望在自己的博客里面予以记录。言归正传,在列表级别里SharePoint2010引入了好些新功能,主要有托管元数据服务、字段唯一性以及字段值校验。字段唯一性很有用不过不需要过多介绍,托管元数据服务将会另开文章介绍,本文将集中介绍字段值校验的相关内容。(目前加的只是一些简单的例子,后续又新的更复杂的引用会进一步完善此文)

       首先需要说明的是在SharePoint2010里有两个层面的字段值校验,一个是字段级别,一个是列表级别,字段级别的校验通常用在字段本身输入内容的检查,而列表级别的校验则可以用在譬如两个字段的值比较这样的场景中。

字段级别校验设置:

当创建新字段的时候点击“Validation”,注意Region为该字段的名字。

image

保存后如果我们输入非China的值,会有如下错误提示:

image

还可以有稍微复杂些的场景,例如对输入的文字做长度校验:

在Formula里设置=LEN([REGION])<8,结果如下

image

列表级别校验设置:

列表级别校验设置在列表设置页面的校验设置链接:

image

有两个日期类型字段Date1和Date2,以下设置要求Date1必须在Date2之后。

image

不过有意思的是这次的错误信息提示在添加新记录画面的最上面而不是字段旁边(当然,如果要放在字段旁边,那放在那个字段旁边呐?)

image

image

支持校验的字段类型:

  • 单行文本
  • 多行文本
  • 数字
  • 货币
  • 日期

公式(有待进一步补充):

  1. 奇怪的是日期比较的时候不支持TODAY

冲突:

  1. 如果同时有字段级别和列表级别校验的时候字段级别的校验先发生,列表级别的后发生
  2. 如果字段级别和列表级别的发生冲突的时候,比如

        在列表级别设置了要求[Text1]=[Text2],但是在字段级别设置了[Text1]=”AAA”, [Text2]=”BBB”,在这种情况下将永远不可能往此列表里插入新的记录。

    3.   如果列表级别的校验里包含了内容类型里不包含的字段

        如果跟此列表关联的某个内容类型里不包含该列表级别验证里的相关字段,则此验证将永远不会通过。

站点集列(网站栏):

  1. 可以在网站栏里进行校验设置
  2. 可以在列表级别覆盖引用的网站栏的设置

待调查:

是否可以使用正则表达式?

参考:

http://blogs.pointbridge.com/Blogs/2010wave/Pages/Post.aspx?_ID=5

posted @ 2011-05-27 00:28  JohnsonWang  阅读(826)  评论(2编辑  收藏  举报