Regelredigerare för Edge Delivery Services Forms
Med regelredigeraren kan författare omvandla statiska formulär till responsiva, intelligenta upplevelser utan att behöva skriva kod. Du kan villkorligt visa fält, utföra beräkningar, validera data, vägleda användare genom flöden och integrera affärslogik som anpassas som persontyp.
Vad du kommer att lära dig
I slutet av guiden kan du:
- Förstå hur regler fungerar och när olika regeltyper ska användas
- Aktivera och öppna regelredigeraren i Universell redigerare
- Skapa villkorlig logik för att visa eller dölja fält dynamiskt
- Implementera automatiserade beräkningar och datavalidering
- Bygg anpassade funktioner för komplexa affärsregler
- Tillämpa bästa praxis för prestanda, underhåll och användarupplevelse
Varför ska jag använda regelredigeraren?
- Villkorlig logik: Visa endast relevanta fält när det behövs för att minska brus och kognitiv belastning.
- Dynamiska beräkningar: Beräkna värden automatiskt (summor, satser, skatt) som användartyp.
- Dataverifiering: Förhindra fel tidigt med realtidskontroller och tydliga meddelanden.
- Guidade upplevelser: Leda användare genom logiska steg (guider, förgreningar).
- Ingen kodredigering: Konfigurera kraftfullt beteende via ett visuellt gränssnitt.
Vanliga scenarier är skattekalkylatorer, låne- och premieskattningar, berättigandeflöden, flerstegsansökningar och enkäter med villkorliga frågor.
Så här fungerar regler
En regel definierar vad som ska hända när ett villkor är uppfyllt. En regel består av två delar:
- Villkor: En sats som utvärderas till sant eller falskt.
- Exempel: Inkomst > 50 000, Täckning = Ja, fältet är tomt
- Åtgärd: Vad händer när villkoret är sant (och eventuellt när det är falskt).
- Exempel: Visa/dölj ett fält, Ange/Rensa ett värde, Validera indata, Aktivera/Inaktivera en knapp
-
Villkor → Åtgärd (När/sedan)
code language-text WHEN Gross Salary > 50000 THEN Show "Additional Deduction"Bäst för villkorlig synlighet och progressiv visning.
-
Åtgärd > Villkor (ange om/Endast om)
code language-text SET Taxable Income = Gross Salary - Deductions IF Deductions are applicablePassar bäst för beräkningar och dataomvandlingar.
-
If → then → Else (Alternate action)
code language-text IF Income > 50000 THEN Show "High Income" fields ELSE Show "Standard Income" fieldsBäst för förgreningslogik och ömsesidigt uteslutande flöden.
- Villkor: "Bruttolönen överstiger 50 000 dollar"
- Primär åtgärd: Visa "Ytterligare avdrag"
- Alternativ åtgärd: Dölj "Ytterligare avdrag"
- Resultat: Användarna ser bara de fält som gäller dem
Förutsättningar
Grundläggande behörigheter och konfiguration:
- AEM as a Cloud Service: Redigeringsåtkomst med redigeringsbehörigheter för formulär
- Universal Editor: Installerad och konfigurerad i din miljö
- Regelredigerartillägg: Aktiverat via Extension Manager
- Behörigheter för formulärredigering: Möjlighet att skapa och ändra formulärkomponenter i den universella redigeraren
Verifieringssteg:
- Bekräfta att du har åtkomst till Universal Editor från AEM Sites-konsolen
- Verifiera att du kan skapa och redigera formulärkomponenter
- Kontrollera att ikonen för regelredigeraren
visas när du väljer formulärkomponenter
Nödvändiga kunskaper och färdigheter:
- Kompetens för universell redigerare: Upplev hur du skapar formulär med textinmatningar, listrutor och grundläggande fältegenskaper
- Förståelse av affärslogik: Möjlighet att definiera villkorliga krav och valideringsregler för ditt specifika användningsfall
- Förtrogenhet för formulärkomponenter: Kunskap om fälttyper (text, tal, listruta), egenskaper (obligatoriskt, synligt, skrivskyddat) och formulärstruktur
Valfritt för avancerad användning:
- Grundläggande om JavaScript: Krävs endast för att skapa anpassade funktioner (datatyper, funktioner, grundläggande syntax)
- JSON-förståelse: Användbar för komplex datahantering och API-integreringar
Utvärderingsfrågor:
- Kan du skapa ett enkelt formulär med textinmatningar och en skicka-knapp i Universell redigerare?
- Förstår du när fält ska behövas eller vara valfria i ditt sammanhang?
- Kan du identifiera vilka formulärelement som behöver villkorlig synlighet i ditt fall?
Viktigt: Tillägget för regelredigeraren är inte aktiverat som standard i Universal Editor-miljöer.
Aktiveringssteg:
- Navigera till Extension Manager i din AEM-miljö
- Leta reda på tillägget Regelredigerare i listan med tillgängliga tillägg
- Klicka på Aktivera och bekräfta aktiveringen
- Vänta tills systemet har uppdaterats (kan ta 1-2 minuter)
Verifiering:
- När du har aktiverat visas ikonen för regelredigeraren när du väljer en formulärkomponent:
Bild: Ikonen för regelredigeraren visas när du väljer formulärkomponenter
Så här öppnar du Regelredigeraren:
- Markera en formulärkomponent i Universell redigerare.
- Klicka på ikonen Regelredigerare.
- Regelredigeraren öppnas på en sidopanel.
Bild: Gränssnitt för regelredigerare för redigering av komponentregler
| note note |
|---|
| NOTE |
| I den här artikeln avser"formulärelement" och"formulärobjekt" samma element (t.ex. indata, knappar, paneler). |
Översikt över regelredigeringsgränssnittet
Bild: Fullständigt gränssnitt för regelredigeraren med numrerade komponenter
-
Komponenttitel och regeltyp: Bekräftar den valda komponenten och den aktiva regeltypen.
-
Panelen Formulärobjekt och funktioner:
- Formulärobjekt: hierarkisk vy med fält och behållare för referens i regler
- Funktioner: inbyggda hjälpmedel för matematik, sträng, datum och validering
-
Växla panel: Visa/dölj objekt- och funktionspanelen för att öka arbetsytan
-
Visual rule builder: Drag-and-drop-driven regeldisposition
-
Kontroller: Klart (spara), Avbryt (ignorera). Testa alltid reglerna innan du sparar.
När en komponent redan har regler kan du:
- Visa: Se regelsammanfattningar och logik
- Redigera: Ändra villkor och åtgärder
- Ändra ordning: Ändra körningsordning (uppifrån och ned)
- Aktivera/inaktivera: Växla regler för testning
- Ta bort: Ta bort regler säkert
| note tip |
|---|
| TIP |
| Ställ specifika regler före de allmänna. Körningen är uppifrån och ned. |
Tillgängliga regeltyper
Välj den regeltyp som bäst matchar din avsikt.
- När: Primär regel för komplext villkorligt beteende (villkor → Åtgärd ± Annars)
- Dölj/Visa: Kontrollerar synlighet baserat på ett villkor (progressiv visning)
- Aktivera/Inaktivera: Kontrollerar om ett fält är interaktivt (t.ex. inaktivera Skicka tills de obligatoriska fälten är giltiga)
- Ange värdet för: Fyll i värden automatiskt (till exempel datum, summor, kopior)
- Rensa värdet för: Ta bort data när villkoren ändras
- Format: Omforma visningsformatering (valuta, telefon, datum) utan att ändra lagrade värden
- Validera: Anpassad valideringslogik, inklusive fältkontroller och affärsregler
- Matematiskt uttryck: Beräkna värden i realtid (summor, skatt, proportioner)
- Ange fokus: Flytta fokus till ett visst fält (använd sparsamt)
- Ange egenskap: Ändra komponentegenskaper dynamiskt (platshållare, alternativ osv.)
- Skicka formulär: Skicka formuläret programmatiskt (endast efter att valideringarna har skickats)
- Återställ formulär: Rensa och återställ till ursprungligt läge (bekräfta före användning)
- Spara formulär: Spara som utkast för senare (långa formulär, flera sessioner)
- Anropa tjänsten: Anropa externa API:er/tjänster (hantera inläsning och fel)
- Lägg till/ta bort instans: Hantera repeterbara avsnitt (t.ex. beroenden, adresser)
- Navigera till: Dirigera till andra formulär/sidor (bevara data före navigering)
- Navigera bland paneler: Stegnavigering och hoppa över i kontrollguiden
- Skicka händelse: Utlös anpassade händelser för integreringar eller analyser
Stegvis självstudiekurs: Bygg en smart skattekalkylator
I det här exemplet visas villkorlig synlighet och automatiska beräkningar.
Bild: Formulär för momsberäkning med intelligenta villkorsfält
Du skapar ett formulär som:
- Anpassar till användarindata genom att visa relevanta fält
- Beräknar värden i realtid
- Validerar data för att förbättra noggrannheten
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Fältnamn | Typ | Syfte | Beteende |
| Bruttolön | Nummerindata | Användarens årsinkomst | Villkorlig logik för utlösare |
| Ytterligare avdrag | Nummerindata | Extra avdrag (om de är berättigade) | Visas endast när Lön > $50 000 |
| Skattepliktig inkomst | Nummerindata | Beräknat värde | Skrivskyddad, uppdateringar vid ändring |
| Skatteskuld | Nummerindata | Beräknat värde | Skrivskyddad, beräknad med ett fast pris |
-
Regel 1: Villkorlig visning
code language-text WHEN Gross Salary > 50,000 THEN Show "Additional Deduction" ELSE Hide "Additional Deduction" -
Regel 2: Beräkning av skattepliktig inkomst
code language-text SET Taxable Income = Gross Salary - Additional Deduction (Only when Additional Deduction applies) -
Regel 3: Skattepliktig beräkning
code language-text SET Tax Payable = Taxable Income × 10% (Simplified flat rate)
Mål: Bygg basformuläret med alla fält och ursprungliga inställningar.
-
Öppna Universal Editor:
- Navigera till AEM Sites-konsolen, markera sidan och klicka på Redigera
- Kontrollera att Universal Editor är korrekt konfigurerad
-
Lägg till formulärkomponenter i den här ordningen:
- Titel (H2):"Skatteberäkningsformulär"
- Antal indata:"Bruttolön" (obligatoriskt: Ja, platshållare:"Ange årslön")
- Nummerinmatning:"Ytterligare avdrag" (krävs: Nej, platshållare:"Ange ytterligare avdrag")
- Antal indata:"Skattepliktig inkomst" (skrivskyddat: Ja)
- Antal indata: Skatteskuld (skrivskyddat: Ja)
- Skicka-knapp: "Beräkna moms"
-
Konfigurera egenskaper för inledande fält:
- Dölj "Ytterligare avdrag" (ange Synlig: Nej på egenskapspanelen)
- Ange"Skattepliktig inkomst" och"Skattepliktig" till Skrivskyddad: Ja
Bild: Inledande formulärstruktur med grundläggande komponenter konfigurerade
Kontrollpunkt: Du bör ha ett formulär med alla obligatoriska fält där Ytterligare avdrag är dolt och beräknade fält är skrivskyddade.
Mål: Visa fältet Ytterligare avdrag bara när bruttolönen överstiger 50 000 USD.
-
Markera fältet Bruttolön och klicka på ikonen Regelredigeraren
-
Skapa en ny regel:
- Klicka på Skapa
- Ändra regeltyp från Ange värde av till När
-
Konfigurera villkoret:
- Välj större än i listrutan
- Ange
50000i nummerfältet
-
Ange sedan åtgärd:
- Välj "Visa" i listrutan Välj åtgärd
- Dra eller markera fältet "Ytterligare reduktion" från formulärobjekt
-
Lägg till Else-åtgärden:
- Klicka på "Lägg till annat avsnitt"
- Välj "Dölj" i listrutan Välj åtgärd
- Välj fältet "Additional Deduction"
-
Spara regeln: Klicka på Klar
| note note |
|---|
| NOTE |
| Alternativ metod: Du kan uppnå samma resultat genom att skapa en Visa/dölj-regel direkt i fältet"Ytterligare avdrag" i stället för en När-regel för"Bruttolön". |
Mål: Beräkna automatiskt"skattepliktig inkomst" och"skatteskuld" baserat på användarindata.
Konfigurera beräkning av beskattningsbar inkomst:
-
Välj fältet Skattepliktig inkomst och öppna regelredigeraren
-
Skapa matematiskt uttryck:
- Klicka på Skapa → Välj "Matematiskt uttryck"
- Build-uttryck: Bruttolön - ytterligare avdrag
- Dra"Bruttolön" till första fältet
- Välj operatorn "Minus"
- Dra "Additional Deduction" (Ytterligare minskning) till det andra fältet
-
Spara: Klicka på Klar
Konfigurera beräkning av skatteskuld:
-
Välj fältet Skatteskuld och öppna regelredigeraren
-
Skapa matematiskt uttryck:
- Klicka på Skapa → Välj "Matematiskt uttryck"
- Build-uttryck: Skattepliktig inkomst × 10‡ 100
- Dra"Skattepliktig inkomst" till det första fältet
- Välj operatorn "Multiplicerad av"
- Ange
10som nummer - Klicka på "Utöka uttryck"
- Välj operatorn dividerat med
- Ange
100som nummer
-
Spara: Klicka på Klar
Verifiera implementeringen genom att testa det fullständiga flödet:
-
Förhandsgranska formuläret: Klicka på förhandsgranskningsläget i Universal Editor
-
Testa den villkorliga logiken:
- Ange bruttolön =
30000→ "Ytterligare avdrag" ska förbli dold - Ange bruttolön =
60000→ "Ytterligare avdrag" ska visas
- Ange bruttolön =
-
Testa beräkningar:
- Med bruttolön =
60000, ange ytterligare avdrag =5000 - Verifiera skattepliktig inkomst =
55000(60000 - 5000) - Verifiera att skatt betalas =
5500(55000 × 10 %)
- Med bruttolön =
Bild: Slutförd momskalkylator med villkorsfält och automatiska beräkningar
Slutförandevillkor: Formuläret ska dynamiskt visa/dölja fält och beräkna värden i realtid när användare skriver.
Avancerat: Anpassade funktioner
För mer komplex affärslogik än inbyggda funktioner kan du skapa anpassade JavaScript-funktioner som integreras smidigt med regelredigeraren.
Idealiska scenarier för anpassade funktioner:
- Komplexa beräkningar: Flerstegsberäkningar kan inte uttryckas så lätt i den matematiska uttrycksregeln
- Affärsspecifika valideringar: Anpassad valideringslogik som är specifik för din organisation eller bransch
- Dataomvandlingar: Formatkonverteringar, strängändringar eller dataparsning
- Externa integreringar: Anrop till interna API:er eller tredjepartstjänster (med begränsningar)
Fördelar med anpassade funktioner:
- Återanvändbarhet: Skriv en gång, använd i flera formulär och regler
- Underhållbarhet: Centraliserad logik som är enklare att uppdatera och felsöka
- Prestanda: Optimerad körning av JavaScript jämfört med komplexa regelkedjor
- Flexibilitet: Hantera kantfall och komplexa scenarier som inte hanteras av standardregler
Filplats: Alla anpassade funktioner måste definieras i /blocks/form/functions.js i ditt Edge Delivery Services-projekt.
Utvecklingsarbetsflöde:
-
Funktionsdesign
- Använd beskrivande, funktionsorienterade funktionsnamn
- Definiera tydliga parametertyper och returvärden
- Hantera kantfall och ogiltiga indata på ett smidigt sätt
-
Implementering
- Skriv ren, välkommenterad JavaScript
- Inkludera indatavalidering och felhantering
- Testa funktionerna oberoende av varandra före integreringen
-
Dokumentation
- Lägg in omfattande JSDoc-kommentarer
- Inkludera exempel och parameterbeskrivningar
- Dokumentera eventuella begränsningar eller beroenden
-
Distribution
- Exportera funktioner med namngiven export
- Distribuera till din projektdatabas
- Verifiera byggslutförande före testning
Exempel på implementering:
| code language-javascript |
|---|
|
Bild: Lägga till anpassade funktioner i filen functions.js
Integreringssteg:
-
Lägg till funktion i projekt
- Skapa eller redigera
/blocks/form/functions.jsi ditt projekt - Inkludera funktionen i exportsatsen
- Skapa eller redigera
-
Distribuera och bygg
- Genomför ändringar i din databas
- Kontrollera att byggprocessen har slutförts
- Tillåt tid för CDN-cacheuppdateringar
-
Åtkomst i regelredigeraren
- Öppna regelredigeraren för alla formulärkomponenter
- Välj "Funktionsutdata" i listrutan Välj åtgärd
- Välj en anpassad funktion i listan med tillgängliga funktioner
- Konfigurera funktionsparametrar med formulärfält eller statiska värden
-
Testa noggrant
- Förhandsgranska formuläret för att verifiera funktionens beteende
- Testa med olika indatakombinationer, inklusive kantfall
- Verifiera prestanda vid inläsning och interaktion av formulär
Bild: Välja och konfigurera anpassade funktioner i regelredigeraren
| note note |
|---|
| NOTE |
| Förbättringarna av regelredigeraren, bland annat anpassade händelsebaserade regler, stöd för dynamiska variabler och API-integrering, är också tillgängliga för Edge Delivery Services Forms. Mer information om dessa förbättringar och hur du använder dem finns i artikeln Förbättringar av regelredigeraren och användningsfall . |
Bästa tillvägagångssätt för funktionsanvändning:
- Felhantering: Inkludera alltid reservbeteende för funktionsfel
- Prestanda: Profilfunktioner med realistiska datavolymer
- Säkerhet: Verifiera alla indata för att förhindra säkerhetsproblem
- Testning: Skapa testfall som täcker normala fall och kantfall
Statisk import för anpassade funktioner
Den universella redigerarens regelredigerare stöder statiska importer, vilket gör att du kan ordna återanvändbar logik för flera filer och formulär. I stället för att ha alla anpassade funktioner i en enda fil (https://experienceleague.adobe.com/blocks/form/functions.js?lang=sv) kan du importera funktioner från andra moduler.
Exempel: Importera funktioner från en extern fil
Tänk på följande mappstruktur:
form
┣ commonLib
┃ ┗ functions.js
┣ rules
┃ ┗ _form.json
┣ form.js
┗ functions.js
Du kan importera funktioner från commonLib/functions.js till functions.js-huvudfilen enligt nedan:
`import {days} from './commonLib/functions';
/**
* Get Full Name
* @name getFullName Concats first name and last name
* @param {string} firstname in String format
* @param {string} lastname in String format
* @return {string}
*/
function getFullName(firstname, lastname) {
return `${firstname} ${lastname}`.trim();
}
// Export multiple functions for use in Rule Editor
export { getFullName, days};
Ordna anpassade funktioner i olika Forms
Du kan skapa olika uppsättningar funktioner i separata filer eller mappar och exportera dem efter behov:
-
Om du vill att vissa funktioner bara ska vara tillgängliga i vissa formulär, kan du ange sökvägen till funktionsfilen i formulärkonfigurationen.
-
Om textrutan för sökvägen lämnas tom, används inläsningsfunktioner från
/blocks/form/functions.jssom standard i Regelredigeraren
I skärmbilden ovan läggs sökvägen till den anpassade funktionen till i textrutan Anpassad funktionssökväg. De anpassade funktionerna för formuläret läses in från den angivna filen (cc_function.js).
Detta ger flexibilitet genom att man kan dela funktioner i flera formulär eller isolera dem per formulär.
Bästa tillvägagångssätt för regelutveckling
- Minimera regelkomplexiteten; dela upp stora logik i små, fokuserade regler
- Ordna regler efter frekvens (vanligaste först)
- Behåll regeluppsättningar per komponent hanterbara
- Föredra återanvändbara anpassade funktioner framför dupliceringslogik
- Ge tydlig validering och intern feedback
- Undvik att darra visuella ändringar; använd visa/dölj noggrant
- Testa olika enheter och layouter
- Testa med kantfall och kända värden
- Verifiera i olika webbläsare
- Dokumentåtergivning bakom komplexa regler, inte bara mekaniker
- Underhåll ett regellager för stora formulär
- Använd konsekvent namngivning för komponenter och regler
- Versionsanpassade funktioner och tester i icke-produktionsmiljöer
Felsöka vanliga problem
- Verifiera komponentnamn och referenser
- Kontrollera körningsordning (uppifrån och ned)
- Validera villkor med kända värden
- Kontrollera webbläsarkonsolen för att se om det finns blockeringsfel
- Granska operatorer och gruppera (AND/OR)
- Testa uttrycksfragment individuellt
- Bekräfta datatyper (tal kontra strängar)
- Förenkla djupt inkapslade förhållanden
- Egna profilfunktioner
- Minimera externa samtal inuti regler
- Använd specifika väljare och referenser
- Bekräfta filsökväg:
/blocks/form/functions.js - Kontrollera att namngivna exporter är korrekta
- Bekräfta att bygget innehåller dina ändringar
- Rensa webbläsarcache efter distribution
- Validera parametertyper och felhantering
- Bekräfta att tillägget Regelredigeraren är aktiverat
- Välj en komponent som stöds
- Använda en webbläsare som stöds (Chrome, Firefox, Safari)
- Verifiera att du har nödvändig behörighet
Viktiga begränsningar
| note important |
|---|
| IMPORTANT |
| Begränsningar för anpassade funktioner: |
|
| note warning |
|---|
| WARNING |
| Produktionshänsyn: |
|
Sammanfattning
Regelredigeraren i den universella redigeraren omvandlar statiska formulär till intelligenta, responsiva upplevelser som anpassar sig efter användarens inmatningar i realtid. Genom att utnyttja villkorslogik, automatiserade beräkningar och anpassade affärsregler kan ni skapa avancerade arbetsflöden för formulär utan att behöva skriva programkod.
Viktiga funktioner som du har lärt dig:
- Villkorlig logik: Visa och dölj fält baserat på användarindata för att skapa fokuserade, relevanta upplevelser
- Dynamiska beräkningar: Beräkna värden automatiskt (skatter, summor, frekvenser) när användarna interagerar med formuläret
- Dataverifiering: Implementera realtidsvalidering med tydliga, åtgärdbara feedbackmeddelanden
- Anpassade funktioner: Utöka möjligheterna med JavaScript för komplex affärslogik och integrering
- Prestandaoptimering: Tillämpa bästa praxis för underhåll och effektiv regelutveckling
Värde levererat:
- Förbättrad användarupplevelse: Minska kognitiv belastning med progressiv identifiering och intelligenta formulärflöden
- Minskade fel: Förhindra ogiltiga inskickade data genom realtidsvalidering och styrda indata
- Förbättrad effektivitet: Automatisera beräkningar och datainmatning för att minimera användarnas arbete
- Underhållbara lösningar: Skapa återanvändbara, väldokumenterade regler som kan skalas i hela organisationen
Affärspåverkan:
Forms blir kraftfulla verktyg för datainsamling, kvalificering av leads och användarengagemang. Regelredigeraren gör det möjligt för icke-tekniska författare att implementera avancerad affärslogik, minska utvecklingskostnaderna och samtidigt förbättra antalet ifyllda formulär och datakvaliteten.
Nästa steg
Rekommenderad utbildningsväg:
- Börja med grunderna: Skapa enkla regler för att visa/dölja för att förstå de grundläggande begreppen
- Öva med självstudiekurser: Använd exemplet med beräkningsverktyget för skatt som grund för dina egna formulär
- Utöka gradvis: Lägg till matematiska uttryck och valideringsregler allt eftersom förtroendet ökar
- Implementera anpassade funktioner: Utveckla JavaScript-funktioner för särskilda affärskrav
- Optimera och skala: Använd bästa praxis för prestanda och underhåll regeldokumentation
Ytterligare resurser:
- Dokumentation för Universal Editor för ett bredare sammanhang
- Extension Manager guide för att aktivera ytterligare funktioner
- Edge Delivery Services-formulär för omfattande riktlinjer för formulärutveckling