私はxformページを開き、フォームフィールドには直接アクセスせずにフォームを直接送信しています。 フォームに検証エラーがある場合、データは送信されませんが、検証エラーはデフォルトのError Summary Componentには表示されません。 イベント "xforms-submit-error"が発生したときにモーダルダイアログを表示します。Orbeonフォームで送信が失敗した場合の検証エラーを表示
妥当性検査のエラーは、エラーサマリーコンポーネントによって制御されます。 そのドキュメントからは、「エラーサマリコンポーネント...訪問されたコントロールを追跡し、すべてのエラー... " これは起こっている! :-)
したがって、ユーザーがフォームフィールドを「訪問」せずにフォームを送信しようとすると、妥当性検査エラーがある場合は、検証エラーをリストします。
さまざまな関連サイト/コードサンプル/フォーラムで、これを行うにはすべてのコントロールに「訪問しました」と表示される「訪問中」アクションを使用する必要があるため、関連するエラーが表示されます!
だから、このような何かを試してみましたが、ない幸運!:
...
<xf:submission id="submit" ...
...
<xf:action ev:event="xforms-submit-error">
<xf:message level="modal">Oooops!</xf:message>
<!-- virtual visit all form fields? -->
<xf:dispatch name="fr-visit-all" targetid="error-summary"/>
<xf:refresh/>
<xf:dispatch name="fr-update" targetid="error-summary"/>
</xf:action>
...
</xf:submission >
...
</xf:model>
</xh:head>
<xh:body>
<fr:view>
...
<xf:trigger id="submit-control" bind="submit-bind">
<xf:label ref="$form-resources/submit/label" />
<xf:send ev:event="DOMActivate" submission="submit" />
</xf:trigger>
...
デフォルトの「エラー・サマリ」にアクセスする方法は?私はカスタムエラーの概要を追加していない、私は組み込みのコンポーネントを使用したい。 Orbeonを使用して
は解決4.5
私がチェックし、フォームのランナーは、派遣 'FR-訪問-ALL'を行います。これにより、Error Summaryは ''アクションを使用して、すべてのコントロールを訪問したとマークします。だから私はなぜあなたのケースではうまくいかないのか分かりません。 *提出前に 'fr-visit-all' *を試すことができますか? –
ebruchez
targetidは "error-summary"、 "fr-error-summary-model"、その他の何かが必要ですか? – oikonomopo