Erstellen und Anzeigen einer Vorschau eines Headless-Formulars mit einer React-App introduction
Das Starterkit hilft Ihnen bei den ersten Schritten mit einer React-App. Sie können adaptive Headless-Formulare in einer Angular-, Vanilla JS- und anderen Entwicklungsumgebungen Ihrer Wahl entwickeln und verwenden.
Der Einstieg in adaptive Headless-Formulare ist ziemlich einfach und schnell. Klonen Sie das fertige React-Projekt, installieren Sie die Abhängigkeiten und führen Sie das Projekt aus. Sie verfügen über ein adaptives Headless-Formular, das in eine React-App integriert ist. Sie können das React-Beispielprojekt verwenden, um adaptive Headless-Formulare zu erstellen und zu testen, bevor Sie diese in einer Produktionsumgebung bereitstellen.
Fangen wir an:
Bevor Sie beginnen pre-requisites
Um eine React-App zu erstellen und auszuführen, muss auf Ihrem Computer Folgendes installiert sein:
-
Installieren Sie die neueste Version von Git. Wenn Sie mit Git noch nicht vertraut sind, lesen Sie Git installieren.
-
Installieren Sie Node.js 16.13.0 oder höher. Wenn Sie mit Node.js noch nicht vertraut sind, lesen Sie die Installationsanleitung für Node.js.
Erste Schritte
Nachdem die Anforderungen erfüllt sind, führen Sie die folgenden Schritte aus, um zu beginnen:
1. Einrichten des Starterkits für adaptive Headless-Formulare install
Das Starterkit ist eine React-App mit einem adaptiven Headless-Beispielformular und entsprechenden Bibliotheken. Verwenden Sie das Kit, um Ihre adaptiven Headless-Formulare und entsprechenden React-Komponenten zu entwickeln und zu testen. Führen Sie die folgenden Befehle aus, um das Starterkit für adaptive Headless-Formulare einzurichten:
-
Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:
code language-shell git clone https://github.com/adobe/react-starter-kit-aem-headless-forms
Der Befehl erstellt ein Verzeichnis mit dem Namen react-starter-kit-aem-headless-forms an Ihrem aktuellen Speicherort und klont die React-Starter-App für adaptive Headless-Formulare. Zusammen mit den Konfigurationen und der Liste der Abhängigkeiten, die zum Rendern des Formulars erforderlich sind, enthält der Ordner die folgenden wichtigen Inhalte:
- Beispielformular: Das Starterkit enthält ein Beispielformular für einen Darlehensantrag. Um das in der App enthaltene Formular (Formulardefinition) anzuzeigen, öffnen Sie die Datei
/react-starter-kit-aem-headless-forms/form-definations/form-model.json
. - React-Beispielkomponenten: Das Starterkit enthält React-Beispielkomponenten für Rich Text und Slider. Dieses Handbuch hilft Ihnen beim Erstellen eigener benutzerdefinierter Komponenten mit diesen Rich-Text- und Slider-Komponenten.
- Mappings.ts: Mithilfe der Datei „mappings.ts“ können Sie benutzerdefinierte Komponenten Formularfeldern zuordnen. Sie können beispielsweise ein numerisches Schrittfeld der Bewertungskomponente zuordnen.
- Umgebungskonfigurationen: Mit Umgebungskonfigurationen können Sie ein im Starterkit enthaltenes Formular wiedergeben oder ein Formular von einem AEM Forms-Server abrufen.
note note NOTE Beispiele in Dokumenten basieren auf VSCode. Sie können auch einen beliebigen einfachen Texteditor für Code verwenden. - Beispielformular: Das Starterkit enthält ein Beispielformular für einen Darlehensantrag. Um das in der App enthaltene Formular (Formulardefinition) anzuzeigen, öffnen Sie die Datei
-
Navigieren Sie zum Verzeichnis react-starter-kit-aem-headless-forms und führen Sie den folgenden Befehl aus, um die Abhängigkeiten zu installieren:
code language-shell npm install
Der Befehl lädt alle Pakete und Bibliotheken herunter, die zum Ausführen und Erstellen der App erforderlich sind, z. B. Bibliotheken für adaptive Headless-Formulare
(@aemforms/af-response-renderer, @aemforms/af-response-components, @adobe/react-frequency), führt Validierungen durch und persistiert Daten für Instanzen des Formulars.
2. Anzeigen des adaptiven Headless-Formulars in der Vorschau preview
Nachdem Sie das Starterkit eingerichtet haben, können Sie eine Vorschau des adaptiven Headless-Beispielformulars anzeigen und es durch Ihr eigenes, benutzerdefiniertes Formular ersetzen. Sie können auch das Starterkit konfigurieren, um ein Formular von einem AEM Forms-Server abzurufen. So zeigen Sie eine Vorschau des Formulars an
-
Benennen Sie die Datei
env_template
in.env
um. Stellen Sie außerdem sicher, dass die Option USE_LOCAL_JSON auf „true“ gesetzt ist. -
Verwenden Sie den folgenden Befehl, um die App auszuführen:
code language-shell npm start
Mit diesem Befehl wird ein lokaler Entwicklungs-Server gestartet, und das in der Starter App enthaltene adaptive Headless-Beispielformular wird in Ihrem Standard-Webbrowser geöffnet.
Und fertig! Jetzt ist alles so eingerichtet, dass Sie mit der Entwicklung eines benutzerdefinierten adaptiven Headless-Formulars beginnen können.
3. Erstellen und Rendern eines eigenen adaptiven Headless-Formulars custom
Ein adaptives Headless-Formular stellt das Formular und seine Komponenten, wie Felder und Schaltflächen, im JSON-Format (JavaScript Object Notation) dar. Der Vorteil der Verwendung des JSON-Formats besteht darin, dass es von verschiedenen Programmiersprachen einfach analysiert und verwendet werden kann, sodass Formulardaten bequem zwischen Systemen ausgetauscht werden können. Um das in der App enthaltene adaptive Headless-Beispielformular anzuzeigen, öffnen Sie die Datei /react-starter-kit-aem-headless-forms/form-definations/form-model.json
.
Erstellen wir ein Kontaktformular mit vier Feldern: „Name“, „E-Mail“, „Kontaktnummer“und „Nachricht“. Die Felder werden als Objekte (Elemente) innerhalb der JSON-Datei definiert, wobei jedes Objekt (Element) Eigenschaften aufweist, wie „Typ“, „Bezeichnung“, „Name“ und „Erforderlich“. Das Formular verfügt auch über eine Schaltfläche vom Typ „Übermitteln“. Hier finden Sie die JSON für das Formular.
{
"afModelDefinition": {
"adaptiveform": "0.10.0",
"items": [
{
"fieldType": "text-input",
"label": {
"value": "Name"
},
"name": "name"
},
{
"fieldType": "text-input",
"format": "email",
"label": {
"value": "Email"
},
"name": "email"
},
{
"fieldType": "text-input",
"format": "phone",
"pattern": "[0-9]{10}",
"label": {
"value": "Contact Number"
},
"name": "Phone"
},
{
"fieldType": "multiline-input",
"label": {
"value":"Message"
},
"name": "message"
},
{
"fieldType": "button",
"label":{
"value": "Submit"
},
"name":"submit",
"events":{
"click": "submitForm()"
}
}
],
"action": "https://eozrmb1rwsmofct.m.pipedream.net",
"description": "Contact Us",
"title": "Contact Us",
"metadata": {
"grammar": "json-formula-1.0.0",
"version": "1.0.0"
}
}
}
- Das Attribut „afModelDefinition“ ist nur für React-Apps erforderlich und ist nicht Teil der Formulardefinition.
- Sie können die JSON für das Formular manuell erstellen oder den AEM-Editor für adaptive Formulare (WYSIWYG-Editor für adaptive Formulare) verwenden, um die Formular-JSON zu erstellen und bereitzustellen. In einer Produktionsumgebung verwenden Sie AEM Forms, um die Formular-JSON bereitzustellen, mehr dazu später.
- In diesem Tutorial wird „https://pipedream.com/“ zum Testen der Formularübermittlung verwendet. Sie verwenden Ihre eigenen Endpunkte oder Drittanbieter-Endpunkte, die von Ihrer Organisation genehmigt wurden, um die Daten aus einem adaptiven Headless-Formular zu empfangen.
Um das Formular zu rendern, ersetzen Sie die JSON-Musterdatei für das adaptive Headless-Formular /react-starter-kit-aem-headless-forms/form-definations/form-model.json
durch die obige JSON, speichern Sie die Datei und warten Sie, bis das Starterkit das Formular kompiliert und aktualisiert hat.
Sie haben das adaptive Headless-Formular erfolgreich gerendert.
Bonus
Legen wir den Titel der Web-Seite, die das Formular hostet, auf Contact Us | WKND Adventures and Travel
fest. Um den Titel zu ändern, öffnen Sie die Datei react-starter-kit-aem-headless-forms/public/index.html zur Bearbeitung und legen Sie den Titel fest.
Nächster Schritt
Standardmäßig verwendet das Starterkit Adobe-Komponenten zum Rendern des Formulars. Sie können Ihre eigenen Komponenten erstellen und verwenden oder auch Drittanbieterkomponenten. Beispielsweise die Google Material-Benutzeroberfläche oder die Chakra-Benutzeroberfläche.
Nutzen wir die Google Material-Benutzeroberfläche, um unser Kontaktformular zu rendern.