Anpassad formulärregelredigerare adaptive-forms-rule-editor

Adobe rekommenderar att man använder modern och utbyggbar datainhämtning Kärnkomponenterfor skapa ny Adaptive Formseller lägga till adaptiv Forms på AEM Sites-sidor. De här komponenterna utgör ett betydande framsteg när det gäller att skapa adaptiva Forms-filer, vilket ger imponerande användarupplevelser. I den här artikeln beskrivs det äldre sättet att skapa Adaptiv Forms med baskomponenter.

Version
Länk till artikel
AEM as a Cloud Service
Klicka här
AEM 6.5
Den här artikeln

Överblick overview

Regelredigeringsfunktionen i Adobe Experience Manager Forms gör det möjligt för användare och utvecklare av formulär att skriva regler för anpassningsbara formulärobjekt. Dessa regler definierar åtgärder som ska utlösas av formulärobjekt baserat på förinställda villkor, användarindata och användaråtgärder i formuläret. Det effektiviserar formulärifyllningen ytterligare och ger större precision och snabbhet.

Regelredigeraren har ett intuitivt och förenklat användargränssnitt för att skriva regler. Regelredigeraren erbjuder en visuell redigerare för alla användare. Regelredigeraren är dessutom bara avsedd för användare som har behörighet att använda formulär. Regelredigeraren har en kodredigerare som kan skriva regler och skript.

Regelredigeraren ersätter skriptfunktionerna i AEM 6.1 Forms och tidigare versioner. Befintliga skript bevaras dock i den nya regelredigeraren. Mer information om hur du arbetar med befintliga skript i regelredigeraren finns i Regelredigerarens effekt på befintliga skript.

Användare som läggs till i användargruppen för formulär kan skapa nya skript och redigera befintliga. Användare i gruppen för formuläranvändare kan använda skript men inte skapa eller redigera skript.

Förstå en regel understanding-a-rule

En regel är en kombination av åtgärder och villkor. I regelredigeraren omfattar åtgärderna aktiviteter som att dölja, visa, aktivera, inaktivera eller beräkna värdet för ett objekt i ett formulär. Villkor är booleska uttryck som utvärderas genom att kontroller och åtgärder utförs på ett formulärobjekts status, värde eller egenskap. Åtgärder utförs baserat på värdet ( True eller False) returneras genom att ett villkor utvärderas.

Regelredigeraren innehåller en uppsättning fördefinierade regeltyper, till exempel När, Visa, Dölj, Aktivera, Inaktivera, Ange värde för och Validera, som hjälper dig att skriva regler. Med varje regeltyp kan du definiera villkor och åtgärder i en regel. I dokumentet förklaras dessutom varje regeltyp i detalj.

En regel följer vanligtvis någon av följande konstruktioner:

Condition-Action I den här konstruktionen definierar en regel först ett villkor följt av en åtgärd som ska utlösas. Konstruktionen är jämförbar med if-then-programsatsen i programmeringsspråk.

I regelredigeraren När regeltypen framtvingar konstruktorn för villkorsåtgärd.

Åtgärdsvillkor I den här konstruktionen definierar en regel först en åtgärd som ska utlösas följt av villkor för utvärdering. En annan variant av den här konstruktionen är action-condition-alternate action, som också definierar en alternativ åtgärd som ska utlösas om villkoret returnerar False.

Regeltyperna Visa, Dölj, Aktivera, Inaktivera, Ange värde för och Validera i regelredigeraren framtvingar regelkonstruktionen för åtgärdsvillkor. Som standard är den alternativa åtgärden för Visa Dölj och Aktivera Inaktivera, och omvänt. Du kan inte ändra den alternativa standardåtgärden.

NOTE
De tillgängliga regeltyperna, inklusive villkor och åtgärder som du definierar i regelredigeraren, beror också på vilken typ av formulärobjekt du skapar en regel på. Regelredigeraren visar endast giltiga regeltyper och alternativ för att skriva villkor och åtgärdssatser för en viss formulärobjekttyp. Du kan till exempel inte se regeltyperna Validera, Ange värde för, Aktivera och Inaktivera för ett panelobjekt.

Mer information om vilka regeltyper som finns i regelredigeraren finns i Tillgängliga regeltyper i regelredigeraren.

Riktlinjer för val av regelkonstruktion guidelines-for-choosing-a-rule-construct

Även om du kan uppnå de flesta användningsexemplen genom att använda valfri regelkonstruktion finns det några riktlinjer för att välja en konstruktion framför en annan. Mer information om tillgängliga regler i regelredigeraren finns i Tillgängliga regeltyper i regelredigeraren.

  • En typisk tumregel när du skapar en regel är att tänka på den i kontexten för det objekt som du skriver en regel för. Tänk på att du vill dölja eller visa fältet B baserat på det värde som användaren anger i fältet A. I det här fallet utvärderar du ett villkor i fält A och baserat på det värde som returneras utlöser du en åtgärd i fält B.

    Om du skriver en regel i fält B (det objekt som du utvärderar ett villkor för) ska du därför använda konstruktorn condition-action eller regeltypen When. Använd på samma sätt konstruktionen action-condition eller Visa eller Dölj regel i fält A.

  • Ibland måste du utföra flera åtgärder baserat på ett villkor. I sådana fall bör du använda konstruktorn condition-action. I den här konstruktionen kan du utvärdera ett villkor en gång och ange flera åtgärdssatser.

    Om du till exempel vill dölja fält B, C och D baserat på villkoret som kontrollerar värdet som användaren anger i fält A, skriver du en regel med villkorsstyrd konstruktion eller Regeltyp för När i fält A och anger åtgärder som styr synligheten för fält B, C och D. I annat fall behöver du tre separata regler för fälten B, C och D, där varje regel kontrollerar villkoret och visar eller döljer respektive fält. I det här exemplet är det effektivare att skriva Regeltypen När för ett objekt i stället för att visa eller dölja regeltypen för tre objekt.

  • Om du vill aktivera en åtgärd baserat på flera villkor bör du använda konstruktorn action-condition. Om du till exempel vill visa och dölja fält A genom att utvärdera villkor i fält B, C och D, använder du Visa eller Dölj regeltyp i fält A.

  • Använd villkorskonstruktion för villkorsåtgärd eller åtgärd om regeln innehåller en åtgärd för ett villkor.

  • Om en regel söker efter ett villkor och utför en åtgärd omedelbart när ett värde anges i ett fält eller när ett fält avslutas, rekommenderar vi att du skriver en regel med villkorsstyrd åtgärd eller med regeltypen När i fältet som villkoret utvärderas i.

  • Villkoret i regeln När utvärderas när en användare ändrar värdet på objektet som regeln När används på. Men om du vill att åtgärden ska utlösas när värdet ändras på serversidan, som att fylla i värdet i förväg, rekommenderar vi att du skriver en When-regel som utlöser åtgärden när fältet initieras.

  • När du skriver regler för nedrullningsbara listor, alternativknappar eller kryssruteobjekt fylls alternativen eller värdena för dessa formulärobjekt i förväg i regelredigeraren.

Tillgängliga operatortyper och händelser i regelredigeraren available-operator-types-and-events-in-rule-editor

Regelredigeraren innehåller följande logiska operatorer och händelser som du kan använda för att skapa regler.

  • Är lika med
  • Är inte lika med
  • Börjar med
  • Slutar med
  • Innehåller
  • Är tom
  • Är inte tom
  • Har markerat: Returnerar true när användaren väljer ett visst alternativ för en kryssruta, listruta eller alternativknapp.
  • Har initierats (händelse): Returnerar true när ett formulärobjekt återges i webbläsaren.
  • Har ändrats (händelse): Returnerar true när användaren ändrar det angivna värdet eller det valda alternativet för ett formulärobjekt.

Tillgängliga regeltyper i regelredigeraren available-rule-types-in-rule-editor

Regelredigeraren innehåller en uppsättning fördefinierade regeltyper som du kan använda för att skriva regler. Vi tittar närmare på varje regeltyp. Mer information om hur du skriver regler i regelredigeraren finns i Skriv regler.

När whenruletype

The När regeltypen följer efter condition-action-alternate action regelkonstruktion, eller ibland bara villkorsåtgärd konstruera. I den här regeltypen anger du först ett villkor för utvärdering följt av en åtgärd som ska utlösas om villkoret uppfylls ( True). När du använder regeltypen När kan du använda flera AND- och OR-operatorer för att skapa kapslade uttryck.

Med hjälp av regeltypen När kan du utvärdera ett villkor för ett formulärobjekt och utföra åtgärder på ett eller flera objekt.

I klartext är en typisk When-regel strukturerad på följande sätt:

When on Object A:

(Condition 1 AND Condition 2 OR Condition 3) is TRUE;

Then, do the following:

Åtgärd 2 om mål B.
OCH
Åtgärd 3 om mål C.

_

När du har en komponent med flera värden, till exempel alternativknappar eller listor, hämtas alternativen automatiskt och görs tillgängliga för regelskaparen när du skapar en regel för den komponenten. Du behöver inte ange alternativvärdena igen.

En lista har till exempel fyra alternativ: Röd, Blå, Grön och Gul. När regeln skapas hämtas alternativen (alternativknappar) automatiskt och görs tillgängliga för regelskaparen enligt följande:

multivalueDisplayOptions

När du skriver en When-regel kan du utlösa åtgärden Clear Value Of. Åtgärden Rensa värde för rensar värdet för det angivna objektet. Med alternativet Radera värde för i programsatsen When kan du skapa komplexa villkor med flera fält.

clear value of

Dölj Döljer det angivna objektet.

Visa Visar det angivna objektet.

Aktivera Aktiverar det angivna objektet.

Inaktivera Inaktiverar det angivna objektet.

Anropa tjänst Anropar en tjänst som konfigurerats i en formulärdatamodell. När du väljer åtgärden Anropa tjänst visas ett fält. När användaren knackar på fältet visas alla tjänster som konfigurerats i alla formulärdatamodeller i AEM. När du väljer en datamodelltjänst för ett formulär visas ytterligare fält där du kan mappa formulärobjekt med in- och utdataparametrar för den angivna tjänsten. Se exempelregel för att anropa datamodelltjänster för formulär.

Utöver formulärdatamodelltjänsten kan du ange en direkt WSDL-URL för att anropa en webbtjänst. En datamodelltjänst för formulär har dock många fördelar och det rekommenderade sättet att anropa en tjänst.

Mer information om hur du konfigurerar tjänster i formulärdatamodellen finns i AEM Forms dataintegrering.

Ange värdet för Beräknar och ställer in värdet för det angivna objektet. Du kan ställa in objektvärdet på en sträng, värdet för ett annat objekt, det beräknade värdet med hjälp av matematiska uttryck eller funktioner, värdet för ett objekts egenskap eller utdatavärdet från en konfigurerad datamodelltjänst för formulär. När du väljer webbtjänstalternativet visas alla tjänster som är konfigurerade i alla formulärdatamodeller på din AEM. När du väljer en datamodelltjänst för ett formulär visas ytterligare fält där du kan mappa formulärobjekt med in- och utdataparametrar för den angivna tjänsten.

Mer information om hur du konfigurerar tjänster i formulärdatamodellen finns i AEM Forms dataintegrering.

The Set Property Med regeltypen kan du ange värdet för en egenskap för det angivna objektet baserat på en villkorsåtgärd. Du kan ställa in egenskapen på något av följande:

  • visible (Boolean)
  • dorExclusion (Boolean)
  • chartType (String)
  • title (String)
  • enabled (Boolean)
  • mandatory (Boolean)
  • validationsDisabled (Boolean)
  • validateExpMessage (String)
  • value (Number, String, Date)
  • objekt (lista)
  • valid (Boolean)
  • errorMessage (String)

Här kan du definiera regler för att lägga till kryssrutor dynamiskt i det anpassade formuläret. Du kan använda en anpassad funktion, ett formulärobjekt eller en objektegenskap för att definiera en regel.

Ange egenskap

Om du vill definiera en regel baserat på en anpassad funktion väljer du Funktionsutdata från listrutan och dra och släpp en anpassad funktion från Funktioner -fliken. Om villkorsåtgärden uppfylls läggs antalet kryssrutor som definierats i den anpassade funktionen till i det adaptiva formuläret.

Om du vill definiera en regel baserat på ett formulärobjekt väljer du Formulärobjekt från listrutan och dra ett formulärobjekt från Formulärobjekt -fliken. Om villkorsåtgärden uppfylls läggs antalet kryssrutor som är definierade i formulärobjektet till i det adaptiva formuläret.

Med en regel för att ange egenskap som baseras på en objektegenskap kan du lägga till antalet kryssrutor i ett anpassat formulär baserat på en annan objektegenskap som ingår i det adaptiva formuläret.

I följande bild visas ett exempel på hur du dynamiskt lägger till kryssrutor baserat på antalet nedrullningsbara listor i det anpassade formuläret:

Objektegenskap

Radera värdet för Rensar värdet för det angivna objektet.

Ange fokus Ställer in fokus på det angivna objektet.

Spara formulär Sparar formuläret.

Skicka in Forms Skickar formuläret.

Återställ formulär Återställer formuläret.

Validera formulär Validerar formuläret.

Lägg till instans Lägger till en instans av den angivna repeterbara panelen eller tabellraden.

Ta bort instans Tar bort en instans av den angivna repeterbara panelen eller tabellraden.

Navigera till Navigerar till annan interaktiv kommunikation, adaptiva formulär, andra resurser som bilder eller dokumentfragment eller en extern URL. Mer information finns i Knappen Lägg till i interaktiv kommunikation.

Ange värdet för set-value-of

The Set Value of kan du ange värdet för ett formulärobjekt beroende på om det angivna villkoret är uppfyllt eller inte. Värdet kan anges till ett värde för ett annat objekt, en stränglitteral, ett värde som härleds från ett matematiskt uttryck eller en funktion, ett värde för en egenskap för ett annat objekt eller utdata från en datamodelltjänst för ett formulär. På samma sätt kan du söka efter ett villkor för en komponent, en sträng, en egenskap eller värden som härletts från en funktion eller ett matematiskt uttryck.

Regeltypen Ange värde för är inte tillgänglig för alla formulärobjekt, t.ex. paneler och knappar i verktygsfält. En standardregel för Ange värde för har följande struktur:

Ange värdet för objekt A till:

(sträng ABC) ELLER
(objektegenskap X för objekt C) ELLER
(värde från en funktion) ELLER
(värde från ett matematiskt uttryck) ELLER
(utdatavärde för en datamodellstjänst eller webbtjänst)

När (valfritt):

(Villkor 1 OCH Villkor 2 OCH Villkor 3) är SANT;

I följande exempel används värdet i dependentid field som indata och fältets värde Relation anges till utdata Relation från argumentet getDependent för formulärdatamodelltjänsten.

set-value-web-service

Exempel på Ange värderegel med datamodelltjänst för formulär

NOTE
Dessutom kan du använda Ange värde för regel för att fylla i alla värden i en nedrullningsbar listekomponent från utdata från en formulärdatamodelltjänst eller en webbtjänst. Se dock till att det utdataargument du väljer är av en arraytyp. Alla värden som returneras i en array blir tillgängliga i den angivna listrutan.

Visa show

Använda Visa regeltyp kan du skriva en regel som visar eller döljer ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Regeltypen Visa utlöser även åtgärden Dölj om villkoret inte uppfylls eller returneras False.

En vanlig Visa-regel är strukturerad på följande sätt:

Show Object A;

When:

(Condition 1 OR Condition 2 OR Condition 3) is TRUE;

Else:

Hide Object A;

Dölj hide

På liknande sätt som för regeltypen Visa kan du använda kommandot Dölj regeltyp för att visa eller dölja ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Dölj-regeltypen aktiverar även åtgärden Visa om villkoret inte uppfylls eller returneras False.

En vanlig Dölj-regel är strukturerad på följande sätt:

Hide Object A;

When:

(Condition 1 AND Condition 2 AND Condition 3) is TRUE;

Else:

Show Object A;

Aktivera enable

The Aktivera kan du aktivera eller inaktivera ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Regeltypen Aktivera utlöser även åtgärden Inaktivera om villkoret inte uppfylls eller returneras False.

En vanlig Aktivera-regel är strukturerad på följande sätt:

Enable Object A;

When:

(Condition 1 AND Condition 2 AND Condition 3) is TRUE;

Else:

Disable Object A;

Inaktivera disable

På samma sätt som för regeltypen Aktivera Inaktivera kan du aktivera eller inaktivera ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Regeltypen Inaktivera utlöser även åtgärden Aktivera om villkoret inte uppfylls eller returneras False.

En vanlig inaktiveringsregel är strukturerad på följande sätt:

Disable Object A;

When:

(Condition 1 OR Condition 2 OR Condition 3) is TRUE;

Else:

Enable Object A;

Validera validate

The Validera regeltypen validerar värdet i ett fält med hjälp av ett uttryck. Du kan till exempel skriva ett uttryck för att kontrollera att textrutan för att ange namn inte innehåller specialtecken eller siffror.

En vanlig valideringsregel är strukturerad enligt följande:

Validate Object A;

Using:

(Expression 1 AND Expression 2 AND Expression 3) is TRUE;

NOTE
Om det angivna värdet inte överensstämmer med regeln Validera kan du visa ett valideringsmeddelande för användaren. Du kan ange meddelandet i Script validation message i komponentegenskaperna i sidlisten.

skriptvalidering

Ange alternativ för setoptionsof

The Ange alternativ för kan du definiera regler för att lägga till kryssrutor dynamiskt i det anpassade formuläret. Du kan använda en formulärdatamodell eller en anpassad funktion för att definiera regeln.

Om du vill definiera en regel baserat på en anpassad funktion väljer du Funktionsutdata från listrutan och dra och släpp en anpassad funktion från Funktioner -fliken. Antalet kryssrutor som definieras i den anpassade funktionen läggs till i det anpassade formuläret.

Anpassade funktioner

Information om hur du skapar en anpassad funktion finns i anpassade funktioner i regelredigeraren.

Så här definierar du en regel baserad på en formulärdatamodell:

  1. Välj Serviceutdata i listrutan.
  2. Markera datamodellsobjektet.
  3. Välj en objektegenskap för datamodell i Visningsvärde listruta. Antalet kryssrutor i det adaptiva formuläret härleds från antalet instanser som definierats för den egenskapen i databasen.
  4. Välj en objektegenskap för datamodell i Spara värde listruta.

Alternativ för FDM-uppsättning

Förstå användargränssnittet för regelredigeraren understanding-the-rule-editor-user-interface

Regelredigeraren har ett omfattande men ändå enkelt användargränssnitt för att skriva och hantera regler. Du kan starta användargränssnittet för regelredigeraren inifrån ett anpassat formulär i redigeringsläge.

Så här startar du användargränssnittet för regelredigeraren:

  1. Öppna ett anpassat formulär i redigeringsläge.

  2. Markera det formulärobjekt som du vill skriva en regel för och välj Komponentverktygsfältet edit-rules . Användargränssnittet för regelredigeraren visas.

    create-rules

    Alla befintliga regler för de markerade formulärobjekten visas i den här vyn. Mer information om hur du hanterar befintliga regler finns i Hantera regler.

  3. Välj Create för att skriva en ny regel. Den visuella redigeraren för regelredigerarens användargränssnitt öppnas som standard när du startar regelredigeraren första gången.

    Regelredigeringsgränssnitt

Vi tittar närmare på varje komponent i regelredigeringsgränssnittet.

A. Visning av komponentregel a-component-rule-display

Visar titeln på det adaptiva formulärobjektet genom vilket du startade regelredigeraren och den regeltyp som är vald. I ovanstående exempel startas regelredigeraren från ett anpassat formulärobjekt med namnet Lön och den valda regeltypen är När.

B. Formulärobjekt och -funktioner b-form-objects-and-functions-br

Panelen till vänster i regelredigerarens användargränssnitt innehåller två flikar - Forms Objects och Functions.

På fliken Formulärobjekt visas en hierarkisk vy över alla objekt som finns i det anpassade formuläret. Där visas objektens namn och typ. När du skriver en regel kan du dra och släppa formulärobjekt till regelredigeraren. När du skapar eller redigerar en regel när du drar och släpper ett objekt eller en funktion i en platshållare får platshållaren automatiskt rätt värdetyp.

De formulärobjekt som har en eller flera giltiga regler är markerade med en grön prick. Om någon av de regler som tillämpas på ett formulärobjekt är ogiltig markeras formulärobjektet med en gul punkt.

Fliken Funktioner innehåller en uppsättning inbyggda funktioner, till exempel Summa av, Min av, Max av, Medelvärde av, Antal och Validera formulär. Du kan använda dessa funktioner för att beräkna värden i repeterbara paneler och tabellrader och använda dem i åtgärds- och villkorssatser när du skriver regler. Du kan dock också skapa anpassade funktioner .

Fliken Funktioner

NOTE
Du kan utföra textsökning på objekt och funktionsnamn och titlar på flikarna Forms Objekt och Funktioner.

I det vänstra trädet för formulärobjekten kan du markera de formulärobjekt som ska visa de regler som tillämpas på vart och ett av objekten. Du kan inte bara navigera bland reglerna för de olika formulärobjekten, du kan även kopiera och klistra in regler mellan formulärobjekten. Mer information finns i Kopiera och klistra in regler.

C. Växla mellan formulärobjekt och funktioner c-form-objects-and-functions-toggle-br

När användaren knackar på knappen växlar knappen formulärobjekt och funktionsruta.

D. Visuell regelredigerare d-visual-rule-editor

Visuell regelredigerare är det område i det visuella redigeringsläget i regelredigerarens användargränssnitt där du skriver regler. Här kan du välja en regeltyp och definiera villkor och åtgärder. När du definierar villkor och åtgärder i en regel kan du dra och släppa formulärobjekt och funktioner från rutan Formulärobjekt och funktioner.

Mer information om hur du använder den visuella regelredigeraren finns i Skriv regler.

E. Visual-code editors switch e-visual-code-editors-switcher

Användare i gruppen för formuläranvändare har åtkomst till kodredigeraren. Kodredigeraren är inte tillgänglig för andra användare. Om du har behörighet kan du växla från visuellt redigeringsläge till kodredigeringsläge för regelredigeraren, och omvänt, använda väljaren precis ovanför regelredigeraren. När du startar regelredigeraren första gången öppnas den i det visuella redigeringsläget. Du kan skriva regler i det visuella redigeringsläget eller växla till kodredigeringsläget för att skriva ett regelskript. Observera dock att om du ändrar en regel eller skriver en regel i kodredigeraren kan du inte växla tillbaka till den visuella redigeraren för den regeln om du inte rensar kodredigeraren.

AEM Forms spårar det regelredigeringsläge som du använde när du skrev en regel sist. När du startar regelredigeraren nästa gång öppnas den i det läget. Du kan dock konfigurera ett standardläge så att regelredigeraren öppnas i det angivna läget. Så här gör du:

  1. Gå till AEM webbkonsol på https://[host]:[port]/system/console/configMgr.

  2. Klicka för att redigera Adaptive Form and Interactive Communication Web Channel Configuration.

  3. välj Visual Editor eller Code Editor från Default Mode for Rule Editor nedrullningsbar

  4. Klicka på Save.

F. Knapparna Klar och Avbryt f-done-and-cancel-buttons

The Done -knappen används för att spara en regel. Du kan spara en ofullständig regel. Ofullständiga är dock ogiltiga och kan inte köras. Sparade regler för ett formulärobjekt visas nästa gång du startar regelredigeraren från samma formulärobjekt. Du kan hantera befintliga regler i den vyn. Mer information finns i Hantera regler.

The Cancel ignorerar alla ändringar du har gjort i en regel och stänger regelredigeraren.

Skriv regler write-rules

Du kan skriva regler med den visuella regelredigeraren eller kodredigeraren. När du startar regelredigeraren första gången öppnas den i det visuella redigeringsläget. Du kan växla till kodredigeringsläget och skriva regler. Observera dock att om du skriver eller ändrar en regel i kodredigeraren kan du inte växla till den visuella redigeraren för den regeln om du inte rensar kodredigeraren. När du startar regelredigeraren nästa gång öppnas den i det läge som du använde när du skapade regeln senast.

Låt oss först titta på hur man skriver regler med visuell redigerare.

Använda den visuella redigeraren using-visual-editor

Låt oss förstå hur du skapar en regel i den visuella redigeraren med hjälp av följande exempelformulär.

create-rule-example

I avsnittet Krav för lån i exempelformuläret för låneansökan måste de sökande ange sin äktenskapsstatus, lön och, om de är gifta, sin makas lön. Baserat på användarens indata beräknar regeln beloppet för rätt till lån och visas i fältet Låneberättigande. Använd följande regler för att implementera scenariot:

  • Fältet för makens lön visas endast när äktenskapsstatus är gift.
  • Låneberättigandebeloppet är 50 % av den totala lönen.

Utför följande steg för att skriva regler:

  1. Först skriver du regeln för att styra synligheten för fältet för makslön baserat på det alternativ som användaren väljer för alternativknappen för civilstånd.

    Öppna låneansökningsformuläret i redigeringsläge. Välj Civilstånd -komponent och markera edit-rules . Nästa, välj Create för att starta regelredigeraren.

    write-rules-visual-editor-1

    När du startar regelredigeraren markeras regeln När som standard. Dessutom anges formulärobjektet (i det här fallet Marital status) från vilket du startade regelredigeraren i programsatsen When.

    Du kan inte ändra eller ändra det markerade objektet, men du kan välja en annan regeltyp med hjälp av den nedrullningsbara menyn. Om du vill skapa en regel för ett annat objekt väljer du Avbryt om du vill avsluta regelredigeraren och starta den igen från det önskade formulärobjektet.

  2. Välj Select State nedrullningsbar meny och välj is equal to. The Enter a String visas.

    write-rules-visual-editor-2

    I radioknappen Marital Status Gift och Enkelt alternativ har tilldelats 0 och 1 värden. Du kan verifiera tilldelade värden på fliken Titel i dialogrutan Redigera som visas nedan.

    Värden för alternativknappar från regelredigeraren

  3. I Ange en sträng fältet i regeln, ange 0.

    write-rules-visual-editor-4

    Du har definierat villkoret som When Marital Status is equal to Married. Definiera sedan åtgärden som ska utföras om villkoret är sant.

  4. I programsatsen then väljer du Show från Select Action nedrullningsbar meny.

    write-rules-visual-editor-5

  5. Dra och släpp Makslön från fliken Formulärobjekt på fliken Släpp objekt eller välj här fält. Du kan även välja Släpp objekt eller välj här och välj Makslön på popup-menyn som visar alla formulärobjekt i formuläret.

    write-rules-visual-editor-6

    Regeln visas så här i regelredigeraren.

    write-rules-visual-editor-7

    Välj Klar för att spara regeln.

  6. Upprepa steg 1 till 5 om du vill definiera en annan regel som döljer fältet för makens lön om äktenskapsstatus är Enskild. Regeln visas så här i regelredigeraren.

    write-rules-visual-editor-8

    note note
    NOTE
    Du kan också skriva en Show-regel i fältet för makarnas lön, i stället för två When-regler i fältet för civilstånd, för att implementera samma beteende.

    write-rules-visual-editor-9

  7. Skriv sedan en regel för att beräkna lånebeloppet, som är 50 % av den totala lönen, och visa det i fältet Låneberättigande. För att uppnå detta skapar du Ange värde för regler för fältet Lånekvalificering.

    I redigeringsläget väljer du Loan Eligibility fält och markera edit-rules . Nästa, välj Create för att starta regelredigeraren.

  8. Välj Set Value Of regel från listrutan Regel.

    write-rules-visual-editor-10

  9. Välj Select Option och markera Mathematical Expression. Ett fält som skriver matematiskt uttryck öppnas.

    write-rules-visual-editor-11

  10. I uttrycksfältet:

    • Markera eller dra-och-släpp på fliken Forms-objekt på fliken Lön fält i det första Släpp objekt eller välj här fält.

    • Välj Plus från Välj operator fält.

    • Markera eller dra-och-släpp på fliken Forms-objekt på fliken Makslön fält i det andra Släpp objekt eller välj här fält.

    write-rules-visual-editor-12

  11. Välj sedan i det markerade området runt uttrycksfältet och välj Utöka uttryck.

    write-rules-visual-editor-13

    I fältet för utökat uttryck väljer du dividerat med från Välj operator fält och Nummer från Välj alternativ fält. Ange sedan 2 i nummerfältet.

    write-rules-visual-editor-14

    note note
    NOTE
    Du kan skapa komplexa uttryck med hjälp av komponenter, funktioner, matematiska uttryck och egenskapsvärden i fältet Välj alternativ.

    Skapa sedan ett villkor som körs när true returneras.

  12. Välj Lägg till villkor om du vill lägga till en When-programsats.

    write-rules-visual-editor-15

    I programsatsen When:

    • Markera eller dra-och-släpp på fliken Forms-objekt på fliken Civilstånd fält i det första Släpp objekt eller välj här fält.

    • Välj i är lika med från Välj operator fält.

    • Välj String i den andra Släpp objekt eller välj här fält och ange Gift i Ange en sträng fält.

    Regeln visas slutligen så här i regelredigeraren. write-rules-visual-editor-16

    Välj Klar för att spara regeln.

  13. Upprepa steg 7 till 12 för att definiera en annan regel som beräknar låneberättigandet om civilstånd är enkel. Regeln visas så här i regelredigeraren.

    write-rules-visual-editor-17

NOTE
Du kan också använda regeln Ange värde för för för att beräkna låneberättigandet i regeln När som du skapade för att visa och dölja fältet Makslön. Den resulterande kombinerade regeln när Marital status är enkel visas så här i regelredigeraren.
På samma sätt kan du skriva en kombinerad regel för att kontrollera synligheten för fältet för makars lön och beräkna rätten till lån när civilstånd är gifta.

write-rules-visual-editor-18

Använda kodredigeraren using-code-editor

Användare som läggs till i gruppen för formuläranvändare kan använda kodredigeraren. Regelredigeraren genererar automatiskt JavaScript-koden för alla regler som du skapar med den visuella redigeraren. Du kan växla från den visuella redigeraren till kodredigeraren för att visa den genererade koden. Men om du ändrar regelkoden i kodredigeraren kan du inte växla tillbaka till den visuella redigeraren. Om du föredrar att skriva regler i kodredigeraren i stället för i den visuella redigeraren kan du skriva reglerna på nytt i kodredigeraren. Med den visuella kodredigeraren kan du växla mellan de två lägena.

Kodredigeraren JavaScript är uttrycksspråket i adaptiva formulär. Alla uttryck är giltiga JavaScript-uttryck och använder API:er för adaptiva formulär. Dessa uttryck returnerar värden av vissa typer. En fullständig lista över adaptiva formulärklasser, händelser, objekt och offentliga API:er finns på API-referens för JavaScript-bibliotek för adaptiva formulär.

Mer information om riktlinjer för att skriva regler i kodredigeraren finns i Adaptiva formuläruttryck.

När du skriver JavaScript-kod i regelredigeraren kan du använda följande visuella tecken för att utforma strukturen och syntaxen:

  • Syntaxhögdagrar
  • Automatiskt indrag
  • Tips och förslag för formulärobjekt, funktioner och deras egenskaper
  • Automatisk komplettering av formulärkomponentnamn och vanliga JavaScript-funktioner

javascriptruleeditor

Anpassade funktioner i regelredigeraren custom-functions

Förutom färdiga funktioner som Summa av som listas under Funktioner Output kan du skriva egna funktioner som du ofta behöver. Kontrollera att funktionen du skriver åtföljs av jsdoc ovanför den.

Medföljande jsdoc krävs:

  • Om du vill ha anpassad konfiguration och beskrivning.
  • Eftersom det finns flera sätt att deklarera en funktion i JavaScript, och kommentarer gör att du kan hålla reda på funktionerna.

Mer information finns i usejsdoc.org.

Stöds jsdoc taggar:

  • Privat
    Syntax: @private
    En privat funktion ingår inte som en anpassad funktion.

  • Namn
    Syntax: @name funcName <Function Name>
    Alternativt , du kan använda: @function funcName <Function Name> eller @func funcName <Function Name>.
    funcName är namnet på funktionen (inga blanksteg tillåts).
    <Function Name> är funktionens visningsnamn.

  • medlem
    Syntax: @memberof namespace
    Kopplar ett namnutrymme till funktionen.

  • Parameter
    Syntax: @param {type} name <Parameter Description>
    Du kan också använda: @argument {type} name <Parameter Description> eller @arg {type} name <Parameter Description>.
    Visar parametrar som används av funktionen. En funktion kan ha flera parametertaggar, en tagg för varje parameter i ordningen för förekomst.
    {type} representerar parametertyp. Tillåtna parametertyper är:

    1. string
    2. tal
    3. boolesk
    4. omfång

    Omfång används för att referera till fält i ett adaptivt formulär. När ett formulär använder lazy loading kan du använda scope för att komma åt fälten. Du kan komma åt fält antingen när fälten har lästs in eller om fälten har markerats som globala.

    Alla andra parametertyper kategoriseras under någon av ovanstående. Ingen stöds inte. Välj en av typerna ovan. Typer är inte skiftlägeskänsliga. Blanksteg tillåts inte i parametern name. <Parameter Descrption> <parameter> can have multiple words. </parameter>

  • Returtyp
    Syntax: @return {type}
    Du kan också använda @returns {type}.
    Lägger till information om funktionen, till exempel dess mål.
    {type} representerar funktionens returtyp. Följande returtyper tillåts:

    1. string
    2. tal
    3. boolesk

    Alla andra returtyper kategoriseras under en av ovanstående. Ingen stöds inte. Välj en av typerna ovan. Returtyperna är inte skiftlägeskänsliga.

  • Detta
    Syntax: @this currentComponent

    Använd @this för att referera till den adaptiva formulärkomponenten som regeln är skriven för.

    Följande exempel baseras på fältvärdet. I följande exempel döljer regeln ett fält i formuläret. The this del av this.value refererar till den underliggande adaptiva formulärkomponenten, som regeln är skriven för.

    code language-none
       /**
       * @function myTestFunction
       * @this currentComponent
       * @param {scope} scope in which code inside function will be executed.
       */
       myTestFunction = function (scope) {
          if(this.value == "O"){
                scope.age.visible = true;
          } else {
             scope.age.visible = false;
          }
       }
    
NOTE
Kommentarer före anpassade funktioner används för sammanfattning. Sammanfattningen kan sträcka sig över flera rader tills en tagg påträffas. Begränsa storleken till en enda storlek om du vill ha en kortfattad beskrivning i regelbyggaren.

Du kan också använda anpassade funktioner i regelredigeraren. Instruktioner om hur du skapar anpassade funktioner finns i artikeln Anpassade funktioner i Adaptive Forms.

Hantera regler manage-rules

Alla befintliga regler för ett formulärobjekt visas när du markerar objektet och väljer edit-rules1 . Du kan visa titeln och förhandsgranska regelsammanfattningen. I användargränssnittet kan du dessutom expandera och visa hela regelsammanfattningen, ändra ordningen på regler, redigera regler och ta bort regler.

list-rules

Du kan utföra följande åtgärder på regler:

  • Expandera/komprimera: Innehållskolumnen i regellistan visar regelinnehållet. Om hela regelinnehållet inte visas i standardvyn väljer du expand-rule-content för att utöka den.

  • Ändra ordning: Alla nya regler som du skapar staplas längst ned i regellistan. Reglerna körs uppifrån och ned. Regeln längst upp körs först, följt av andra regler av samma typ. Om du till exempel har reglerna When, Show, Enable och When vid den första, andra, tredje respektive fjärde positionen uppifrån, kommer regeln When överst att köras först följt av regeln When vid den fjärde positionen. Sedan körs reglerna Visa och Aktivera.
    Du kan ändra ordningen på en regel genom att trycka på sort-rules eller dra och släpp det i önskad ordning i listan.

  • Redigera: Om du vill redigera en regel markerar du kryssrutan bredvid regeltiteln. Ytterligare alternativ för att redigera och ta bort regeln visas. Välj Redigera om du vill öppna den markerade regeln i regelredigeraren i visuellt läge eller kodredigeringsläge beroende på vilket läge som används för att skapa regeln.

  • Ta bort: Om du vill ta bort en regel markerar du den och väljer Ta bort.

  • Aktivera/inaktivera: Du kan behöva göra uppehåll i användningen av en regel tillfälligt. Du kan välja en eller flera regler och välja Inaktivera i verktygsfältet Åtgärder för att inaktivera dem. Om en regel är inaktiverad körs den inte vid körningen. Om du vill aktivera en inaktiverad regel kan du markera den och välja Aktivera i verktygsfältet Åtgärder. Statuskolumnen för regeln visar om regeln är aktiverad eller inaktiverad.

disablerule

Kopiera och klistra in regler copy-paste-rules

Du kan kopiera och klistra in en regel från ett fält till andra liknande fält för att spara tid.

Så här kopierar och klistrar du in regler:

  1. Markera det formulärobjekt som du vill kopiera en regel från och välj sedan i komponentverktygsfältet redigeringsregel . Användargränssnittet för regelredigeraren visas med formulärobjektet markerat och de befintliga reglerna visas.

    copyrule

    Mer information om hur du hanterar befintliga regler finns i Hantera regler.

  2. Markera kryssrutan bredvid regeltiteln. Ytterligare alternativ för att hantera regeln visas. Välj Kopiera.

    copyrule2

  3. Markera ett annat formulärobjekt som du vill klistra in regeln i och markera Klistra in. Dessutom kan du redigera regeln för att göra ändringar i den.

    note note
    NOTE
    Du kan bara klistra in en regel i ett annat formulärobjekt om det formulärobjektet har stöd för den kopierade regelns händelse. En knapp stöder till exempel händelsen click. Du kan klistra in en regel med en klickningshändelse på en knapp, men inte i en kryssruta.
  4. Välj Klar för att spara regeln.

Kapslade uttryck nestedexpressions

Med regelredigeraren kan du använda flera AND- och OR-operatorer för att skapa kapslade regler. Du kan blanda flera AND- och OR-operatorer i regler.

Nedan visas ett exempel på en kapslad regel som visar ett meddelande till användaren om rätt att vårdas av ett barn när de obligatoriska villkoren är uppfyllda.

komplexuttryck

Du kan också redigera genom att dra och släppa villkor i en regel. Markera och hovra över handtaget ( handtag ) före ett villkor. När pekaren ändras till en handsymbol enligt nedan drar och släpper du villkoret någonstans i linjen. Regelstrukturen ändras.

dra-och-släpp

Villkor för datumuttryck dateexpression

Med regelredigeraren kan du använda datumjämförelser för att skapa villkor.

Följande är ett exempelvillkor som visar ett statiskt textobjekt om inteckningen på huset redan har tagits, vilket användaren anger genom att fylla i datumfältet.

När datumet för inteckningen av egendomen som fyllts i av användaren är tidigare visas en anteckning om inkomstberäkningen i det adaptiva formuläret. I följande regel jämförs det datum som användaren fyller i med det aktuella datumet och om det datum som användaren fyller i är tidigare än det aktuella datumet visas textmeddelandet (Inkommande) i formuläret.

dateexpressionCondition

När det ifyllda datumet infaller tidigare än det aktuella datumet visas textmeddelandet (intäkt) enligt följande:

dateexpressionCondition

Nummerjämförelsevillkor number-comparison-conditions

Med regelredigeraren kan du skapa villkor som jämför två tal.

Följande är ett exempelvillkor som visar ett statiskt textobjekt om antalet månader en sökande stannar på sin nuvarande adress är mindre än 36.

numbercomparisoncondition

När användaren uppger att han/hon har bott på sin nuvarande adress i mindre än 36 månader visas ett meddelande i formuläret om att ytterligare bevis på hemvist kan begäras.

extra proofbegärda

Regelredigerarens effekt på befintliga skript impact-of-rule-editor-on-existing-scripts

I AEM Forms-versioner före AEM 6.1 av Forms funktionspaket 1 använde formulärförfattare och utvecklare för att skriva uttryck på fliken Skript i dialogrutan Redigera komponent för att lägga till dynamiskt beteende i adaptiva formulär. Fliken Skript har ersatts av regelredigeraren.

Alla skript och uttryck som du måste ha skrivit på fliken Skript är tillgängliga i regelredigeraren. Du kan inte visa eller redigera dem i den visuella redigeraren, men om du är en del av gruppen för användare med funktionshinder kan du redigera skript i kodredigeraren.

Exempelregler example

Anropa datamodelltjänst för formulär invoke

Överväg en webbtjänst GetInterestRates som tar lånebelopp, löptid och sökandens kreditpoäng som indata och returnerar en låneplan som inkluderar EMI-belopp och ränta. Du skapar en formulärdatamodell med webbtjänsten som datakälla. Du lägger till datamodellsobjekt och en get till formulärmodellen. Tjänsten visas på fliken Tjänster i formulärdatamodellen. Skapa sedan en anpassningsbar blankett som innehåller fält från datamodellsobjekt för att hämta in användarens indata för lånebelopp, löptid och kreditpoäng. Lägg till en knapp som utlöser webbtjänsten för att hämta planinformation. Utdata fylls i i lämpliga fält.

I följande regel visas hur du konfigurerar åtgärden Anropa tjänst för att slutföra exempelscenariot.

example-invoke-services

Anropa formulärdatamodelltjänst med hjälp av regel för anpassningsbara formulär

NOTE
Om indata är av arraytyp visas fälten som stöder arrayer i den nedrullningsbara utdatafältet.

Utlösa flera åtgärder med hjälp av regeln När triggering-multiple-actions-using-the-when-rule

I en låneansökan vill du ta reda på om lånesökanden är en befintlig kund eller inte. Baserat på den information som användaren anger, bör fältet för kund-ID visas eller döljas. Du vill också fokusera på fältet för kund-ID om användaren är en befintlig kund. Formuläret för låneansökan innehåller följande komponenter:

  • En alternativknapp, Är du en befintlig Geometrixx?, som innehåller alternativen Ja och Nej. Värdet för Ja är 0 och Nej är 1.

  • Ett textfält, Geometrixx kund-ID, för att ange kund-ID:t.

När du skriver en When-regel på alternativknappen för att implementera det här beteendet, visas regeln på följande sätt i den visuella regelredigeraren. when-rule-example

Regel i den visuella redigeraren

I exempelregeln är programsatsen i avsnittet När villkoret, som när returnerar True, utför de åtgärder som anges i avsnittet Sedan.

Regeln visas enligt följande i kodredigeraren.

when-rule-example-code

Regel i kodredigeraren

Använda ett funktionsutdata i en regel using-a-function-output-in-a-rule

I ett inköpsorderformulär har du följande tabell där användarna fyller i sina beställningar. I denna tabell:

  • Den första raden är upprepningsbar, så användarna kan beställa flera produkter och ange olika kvantiteter. Dess elementnamn är Row1.
  • Titeln på cellen i kolumnen Produktkvantitet på den repeterbara raden är Kvantitet. Elementnamnet för cellen är productquantity.
  • Den andra raden i tabellen är inte repeterbar och cellens rubrik i kolumnen Produktkvantitet i den här raden är Total Quantity.

example-function-table

S. Rad1 B. Kvantitet C. Totalt antal

Nu vill du lägga till angivna kvantiteter i kolumnen Produktkvantitet för alla produkter och visa summan i cellen Total kvantitet. Du kan uppnå detta genom att skriva en Set Value Of-regel i cellen Total Quantity enligt nedan.

example-function-output

Regel i den visuella redigeraren

Regeln visas enligt följande i kodredigeraren.

example-function-output-code

Regel i kodredigeraren

Validera ett fältvärde med uttryck validating-a-field-value-using-expression

I inköpsorderformuläret som förklaras i föregående exempel vill du hindra användare från att beställa mer än en kvantitet av en produkt till ett pris som överstiger 10000. Du kan skriva en valideringsregel enligt nedan.

example-validate

Regel i den visuella redigeraren

Regeln visas enligt följande i kodredigeraren.

example-validate-code

Regel i kodredigeraren

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2