ErrorMessage に HTML コード (javascript も含む) を出力してみてください。しかし、そうしたとしても、問題は、ユーザーが入力したデータに安全に戻る方法がないことです。HTTP/301 リダイレクトを作成してから新しいページをロードするか、クライアントにhistory.back()
JavaScript を使用させてからブラウザがページをリロードする可能性があります。
これを行う公式の方法は、リスト定義を作成し、リスト テンプレートをカスタマイズすることです。次に、編集フォーム テンプレートを編集し、必要な数の ASP.Net バリデータ コントロールを含めます。次に、必要に応じてサーバー側のロジックを実装します。この記事では、この手法について説明しています: http://msdn.microsoft.com/en-us/library/aa543922.aspx
編集: 特定のコンテンツ タイプを編集するためのカスタム コントロールをアタッチするには、ContentType 定義に XmlDocuments セクションを追加します。たとえば、このように
<ContentType
..........
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<Display>ContentTypeName_DispForm</Display>
<Edit>ContentTypeName_EditForm</Edit>
<New>ContentTypeName_NewForm</New>
</FormTemplates>
</XmlDocument>
</XmlDocuments>
.......
次にyoursolution_controltemplates.ascx
、そのようなブロックも含む独自のファイルを作成します:"
<SharePoint:RenderingTemplate ID="ContentTypeName_DispForm" runat="server">
<Template>
<!-- put whatever controls you need here, we typically create a
separate custom control which implements everything-->
</Template>
</SharePoint:RenderingTemplate>