在SP 2010中有一个很酷的新特性,您可以为任何列指定一个自定义验证公式和一个错误消息。
由于某些原因,当您使用自定义表单替换列表的默认NewForm.aspx时,使用SharePoint designer的"Create -> New“无法工作。它创建一个aspx,其中它为所选内容类型的每个字段放置一个FormField控件,而不是ListFormWebpart,后者迭代和呈现页面上没有显式提到的每个字段。
刚刚创建的自定义表单上的每个字段的代码类似于以下内容(仅用于说明)
<tr>
<td width="190px" valign="top" class="ms-formlabel">
<H3 class="ms-standardheader">
<nobr>PhoneNumber</nobr></H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
<SharePoint:FormField runat="server" id="ff4{$Pos}" ControlMode="New" FieldName="PhoneNumber" __designer:bind="{ddwrt:DataBind('i',concat('ff4',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@PhoneNumber')}"/>
<SharePoint:FieldDescription runat="server" id="ff4description{$Pos}" FieldName="PhoneNumber" ControlMode="New"/>
</td>
</tr>问题是,使用"Create -> New Item Form“表单,(NewSharePoint2010)公式验证无效:它仅在保存阶段失败时才通过表单上的验证,从而导致错误页面。
在使用自定义(非ListFormWebpart)项页时,它是否以任何方式向FormField控件吐露,或者以任何其他方式获得这种新的sp2010验证机制的好处,还是在这种情况下我必须编写自定义的sp2010验证?
谢谢!
发布于 2010-07-30 17:41:03
问题不在于FormField控件本身,而在于我使用这些字段的DataFormWebPart web部件。有两个问题:
https://stackoverflow.com/questions/3230549
复制相似问题