2016-12-01 2 views
0

Für Zugänglichkeitszwecke habe ich eine Komponente mit einem Alt-Textfeld im Touch UI-Dialogfeld mit required="true". Ein Autor darf jedoch submit schlagen, ohne tatsächlich etwas im Feld zu haben. Es wird auch nicht vorher validiert - der Autor kann nicht sehen, dass dieses Feld erforderlich ist, bis sie etwas eingeben und es aus dem Feld löschen; nur dann können sie sehen, dass das Feld „erforderlich.AEM 6.1 Touch UI ermöglicht Senden, wenn das Textfeld als erforderlich festgelegt ist

Wie kann ich dieses alt Textfeld erhalte erforderlich, so dass ein Autor in einem Text eingeben muss, bevor es für die Komponente einreichen?

Vielen Dank für jede Richtung

.

Antwort

0

In der Dokumentation https://docs.adobe.com/docs/en/aem/6-1/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/textfield/index.html müssen Sie die Eigenschaft "required" (type boolean) auf "true" setzen, um dies zu erreichen. Ich habe auf AEM 6.1 SP1 getestet und funktioniert gut.

Wie auch immer, wenn Sie nach etwas "vor der Übermittlung" oder "auf Dialog bereit" Zustände suchen, dann benötigen Sie Javascript. Sie müssen einen Clientlib-Ordner unter Komponenten mit den Kategorien cq.authoring.dialog erstellen.

Bitte nehmen Sie sich einen Blick auf diese, die das Problem lösen würden, wenn das der Fall ist: für den Posten http://experience-aem.blogspot.in/2015/02/aem-6-sp2-touch-ui-dialog-before-submit.html

+0

Dank zurück :) Ich bin in der Lage, eine Benachrichtigung zu erhalten, aber der Dialog, auch wenn die Benachrichtigung geschlossen erscheint. Zum Beispiel gehe ich auf den Konfigurieren Knopf für meine Komponente. Versuchen Sie dann und senden Sie ohne etwas in dem erforderlichen Feld. Die Fehlermeldung wird angezeigt, aber das Dialogfeld wird geschlossen. Manchmal erhalte ich eine andere Nachricht, die besagt, dass Serverfehler aufgetreten ist. Irgendwelche Ideen? – CoderInTraining

+0

Ich werde vorschlagen, den Code zu debuggen, um herauszufinden, was vor sich geht, denken Sie daran: 'e.stopPropagation();' und 'e.preventDefault();' hören Sie auf, das Formular abzuschicken und '$ form.submit(); die Form. – EsteBusta

0

ich denke, required="true" ist ungültig. Sie müssen entweder nur das ohne Wert required Attribut hinzufügen oder Sie können es als required="required" hinzufügen.

Für zB

<input type="text" required> 
<input type="text" required="required"> 
Verwandte Themen