有人在Sharepoint的事件接收器中成功使用“ItemAdding”方法进行验证吗?
我认为它无法正常用于验证目的,因为它似乎是:
以下是我目前在网上发现的ItemAdding方法:
http://www.sharepoint-tips.com/2006/09/synchronous-add-list-event-itemadding.html
http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=25
无论如何,如果有人成功使用了这种方法,请告诉我怎么样,因为我认为它只是破碎/遗漏了一些东西!
谢谢!
答案 0 :(得分:6)
您不能使用ItemAdding执行那种“友好”的验证检查。如果设置e.Cancel = true并设置e.ErrorMessage,sharepoint会将您重定向到标准错误页面并显示您的消息。您无法将其重定向回您的表单页面。
您应该使用绑定到内容类型的infopath或aspx表单,而不是尝试破解内置页面。 Infopath具有内置的验证控件和您自己构建的aspx表单,您可以像对待任何Web应用程序一样对待它并选择您自己的验证。
恐怕没有简单的方法。
-Oisin
答案 1 :(得分:4)
您可以访问刚刚在表单中添加的数据。查看添加/更新事件接收器中的properties.AfterProperties。
一个例子是properties.AfterProperties [“Title”]。
我同意错误处理有点困难,但除了让您的UI进行验证之外,我建议您在事件接收器中进行验证。如果它不是自定义页面,则可以使用内容编辑器Web部件将JavaScript添加到现有页面以进行验证。