SP 2010中有这个很酷的新功能,您可以为任何列指定自定义验证公式和错误消息。FormField忽略列验证公式
出于某种原因,当您使用SharePoint设计器的“创建新列表表单 - >新建表单”替换具有自定义表单的默认NewForm.aspx时,它不起作用。它创建一个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>
的问题是,与“创建新的列表形式 - >新建项目表”形成(新的sharepoint 2010)公式验证不起作用:它通过表单上的验证,仅在保存阶段失败导致出现错误页面。
它是否以任何方式可配置与FormField控件,或者我可以以任何其他方式采用这种新的sp2010验证机制,当使用自定义(非ListFormWebpart)项目页面或我必须编写自定义GUI验证在这种情况下?
谢谢! 。