Ich öffne die xform-Seite und sende das Formular direkt, ohne die Formularfelder zu besuchen. Wenn das Formular Validierungsfehler aufweist, werden keine Daten gesendet, aber es werden keine Validierungsfehler im Standard Error Summary Component angezeigt. Ich zeige einen modalen Dialog, wenn das Ereignis "xforms-submit-error" auftritt. Die Validierungsfehler werden durch die Fehlerübersichts-Komponente gesteuert: Aus ihrer Dokumentation sehen wir, dass "... Fehlerzusammenfassung Komponente ... die besuchten Steuerelemente verfolgt und Fehler nur für die besuchten zeigt, während alle im Auge behalten werden Fehler ... " Und das passiert! :-)Validierungsfehler anzeigen, wenn die Übermittlung in Orbeon-Formularen fehlschlägt
Also ich möchte, wenn der Benutzer versucht, das Formular, OHNE "Besuch" jedes Formularfeld, wenn es einen Validierungsfehler, um die Validierungsfehler aufzulisten.
Ich fand in verschiedenen Orbeon bezogenen Seiten/Code Samples/Foren, die dazu führen, dass "Visit-All" Aktion, die dazu führen, dass alle Kontrollen "besucht" markieren, so dass ihre zugehörigen Fehler zeigt !
versuchte So etwas wie dieses, aber kein Glück !:
...
<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>
...
Wie default "Fehlerübersicht" zugreifen? Ich habe keine benutzerdefinierte Fehlerzusammenfassung hinzugefügt, ich möchte die integrierte Komponente verwenden.
Orbeon mit Forms 4,5
Ich checkte und Formular Runner tut Versand 'fr-Besuch-all'. Dies führt dazu, dass die Fehlerzusammenfassung auch die Aktion "" verwendet, um alle Steuerelemente als besucht zu markieren. Ich bin mir also nicht sicher, warum das in Ihrem Fall nicht funktioniert. Können Sie "fr-visit-all" * vor dem Einreichen versuchen? –
ebruchez
targetid sollte "error-summary", "fr-error-summary-model", etwas anderes sein? – oikonomopo