页面上的验证负载将SharePoint字段控制作为空
-
16-10-2019 - |
题
在我正在为WSS 3.0 Web应用程序中制作的特定自定义列表项表单上,我需要在加载页面时验证该页面,以便立即注意用户从上一个保存中犯的任何错误。我目前通过使用 Page.Validate()
在里面 OnLoad
方法。
与所有 TextBox
和 RadioButtonList
我填充的控件(也在页面加载上),我可以简单地填充它们,然后触发一堆 InputFormCustomValidator
页面上的控件。对于这些控件,一切都清晰,正确填写的字段并未标记为无效。
但是 UserField
和 DateTimeField
控件,它将将它们视为空载验证的空载,无论它们是否有数据。当使用实际时,这两者都会发生 UserField
和 DateTimeField
控制基于项目ID Querystring的自动获取数据,以及使用基础时 PeopleEditor
和 DateTimeControl
我像文本框一样在页面加载上预处理的控件。
一旦有一个后背部要求验证,验证将正确识别这些字段的内容。
我可以做些什么来解决这个问题,因此正确填充的用户和DateTime字段是 不是 在页面加载上被标记为无效的?我应该以不同的方法运行验证 OnLoad
?我个人想把领域保留为 UserField
和 DateTimeField
与其使用基础控件,而是限制了我无法定义何时被人口填充。如果解决方案是将控制前人群移至较早的阶段,我可以解决这个问题,但是如果可以以另一种方式固定它,则仍然不必这样做。
解决方案
您是否尝试过在.validate()之前调用senurechildControls()?另外,如果要动态创建/加载控件,通常是在createChildControls()事件而不是onload()中完成的,因为大多数自定义控件需要在加载之前参与事件()。
其他提示
也许尝试移动page.validate()调用到OnPrerender事件?