Lägga till regler i en adaptiv Form Core Components adaptive-forms-rule-editor
Den här artikeln innehåller de senaste funktionerna i regelredigeraren i adaptiva Forms Core-komponenter som är:
- Stöd för implementering av kapslade villkor med"När då-else-funktionen"
- Validera eller återställ paneler och formulär, inklusive fält
- Stöd för moderna JavaScript-funktioner, t.ex. låt- och pilfunktioner (ES10-stöd), i anpassade funktioner.
Regelredigeraren gör det lättare för formuläranvändare och utvecklare att skriva regler på adaptiva 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. Några av de nyckelåtgärder du utför på adaptiva formulärobjekt med hjälp av regler är:
- Visa eller dölja ett objekt
- Aktivera eller inaktivera ett objekt
- Ange ett värde för ett objekt
- Validera ett objekts värde
- Utför funktioner för att beräkna värdet för ett objekt
- Anropa en FDM-tjänst (Form Data Model) och utföra en åtgärd
- Ange ett objekts egenskap
Användare som läggs till i gruppen forms-power-users
kan skapa skript och redigera de befintliga. Användare i forms-users group
kan använda skripten men inte skapa eller redigera dem.
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å det värde ( True
eller False
) som returneras när 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 statement
i programmeringsspråken.
I regelredigeraren framtvingar regeltypen When condition-action konstruktionen.
Action-Condition 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 action-condition
. Som standard är den alternativa åtgärden för Visa Dölj och Aktivera Inaktivera, och tvärtom. Du kan inte ändra den alternativa standardåtgärden.
Mer information om tillgängliga regeltyper 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 ett fält 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 (objektet som du utvärderar ett villkor för) ska du därför använda
condition-action
-konstruktionen ellerWhen
-regeltypen. Använd på liknande sättaction-condition
-konstruktionen ellerShow or Hide
-regeltypen 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
condition-action
-konstruktionen. 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, till exempel för förifyllning av värdet, 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
- Innehåller inte
- är tom
- är inte tom
- Har markerat: Returnerar true när användaren väljer ett visst alternativ för en kryssruta, listruta eller en alternativknapp.
- Är initierad (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.
When whenruletype
Regeltypen When följer regelkonstruktionen condition-action-alternate action eller ibland bara condition-action -konstruktionen. 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 är uppfyllt ( True
). När du använder regeltypen When kan du använda flera AND- och OR-operatorer för att skapa kapslade uttryck.
Med regeltypen När kan du utvärdera ett villkor i ett formulärobjekt och utföra åtgärder på ett eller flera objekt.
Med enkla ord är en vanlig When-regel strukturerad enligt följande:
When on Object A:
(Condition 1 AND Condition 2 OR Condition 3) is TRUE;
Then, do the following:
Action 2 on Object B;
AND
Action 3 on Object C
;
Else, do the following:
Action 2 on Object 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:
När du skriver en When-regel kan du utlösa åtgärden Clear Value Of. Clear Value Of
-åtgärden rensar värdet för det angivna objektet. Om du har Clear Value of
som ett alternativ i When-satsen kan du skapa komplexa villkor med flera fält. Du kan lägga till Else-satsen för att lägga till ytterligare villkor.
Tillåtna flera fält i When allowed-multiple-fields
I villkoret När har du möjlighet att lägga till andra fält förutom det fält som regeln tillämpas på.
Med regeltypen När kan du till exempel utvärdera ett villkor för olika formulärobjekt och utföra åtgärden:
When:
(Object A Condition 1)
AND/OR
(Object B Condtion 2)
Then, do the following:
Action 1 on Object A
_
Att tänka på när du använder Tillåtna flera fält i villkorsfunktionen
- Se till att kärnkomponenten och specifikationsversionen är inställd på den senaste versionen för att använda den här funktionen i regelredigeraren.
- Om regler tillämpas på olika fält i When-villkoret utlöses regeln även om bara ett av dessa fält ändras.
Om det uppstår problem i de tillåtna fälten i villkorsfunktionen följer du felsökningsstegen enligt följande:
- Öppna formuläret i redigeringsläge.
- Öppna innehållsläsaren och markera komponenten Guide Container i det adaptiva formuläret.
- Klicka på ikonen för egenskaper för stödlinjebehållaren . Dialogrutan Adaptiv formulärbehållare öppnas.
- Klicka på Klar och spara dialogrutan igen.
Hide Döljer det angivna objektet.
Show Visar det angivna objektet.
Enable Aktiverar det angivna objektet.
Disable Inaktiverar det angivna objektet.
Invoke service Anropar en tjänst som konfigurerats i en formulärdatamodell (FDM). 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 (FDM) på Experience Manager-instansen. När du väljer en tjänst för formulärdatamodell visas fler fält där du kan mappa formulärobjekt med in- och utdataparametrar för den angivna tjänsten. Se exempelregel för anrop av FDM-tjänster (Form Data Model).
Utöver Form Data Model-tjänsten kan du ange en direkt WSDL-URL för att anropa en webbtjänst. En Form Data Model-tjänst 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 (FDM) finns i Experience Manager Forms Dataintegrering.
Set value of 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 Form Data Model-tjänst. När du väljer webbtjänstalternativet visas alla tjänster som konfigurerats i alla formulärdatamodeller (FDM) på Experience Manager-instansen. När du väljer en tjänst för formulärdatamodell visas fler 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 (FDM) finns i Experience Manager Forms Dataintegrering.
Regeltypen Set Property gör att du kan 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)
- label.value (String)
- label.visible (Boolean)
- description (String)
- enabled (Boolean)
- readOnly (Boolean)
- required (Boolean)
- screenReaderText (String)
- valid (Boolean)
- errorMessage (String)
- default (Number, String, Date)
- enumNames (String[])
- chartType (String)
Du kan till exempel definiera regler som visar textruta när du klickar på en knapp. Du kan använda en anpassad funktion, ett formulärobjekt, en objektegenskap eller en tjänstutdata för att definiera en regel.
Om du vill definiera en regel baserat på en anpassad funktion väljer du Function Output i listrutan och drar och släpper en anpassad funktion på fliken Functions. Om villkorsåtgärden uppfylls visas textrutan.
Om du vill definiera en regel baserat på ett formulärobjekt väljer du Form Object i listrutan och drar och släpper ett formulärobjekt på fliken Form Objects. Om villkorsåtgärden uppfylls visas textrutan i det adaptiva formuläret.
Med en regel för att ange egenskap som baseras på en objektegenskap kan du göra textrutan synlig i ett adaptivt 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 aktiverar kryssrutan dynamiskt baserat på hur du döljer eller visar en textruta i ett anpassat formulär:
Clear Value Of Tar bort det angivna objektets värde.
Set Focus anger fokus på det angivna objektet.
Submit Form skickar formuläret.
Reset Återställer formuläret eller det angivna objektet.
Validate Validerar formuläret eller det angivna objektet.
Add Instance lägger till en instans av den angivna repeterbara panelen eller tabellraden.
Remove Instance Tar bort en instans av den angivna repeterbara panelen eller tabellraden.
Function Output definierar en regel baserat på fördefinierade funktioner eller anpassade funktioner.
Navigate to Navigerar till annan Adaptiv Forms, andra resurser som bilder eller dokumentfragment eller en extern URL.
Dispatch Event utlöser specifika åtgärder eller beteenden baserat på fördefinierade villkor eller händelser.
Set Value of set-value-of
Med regeltypen 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 Form Data Model-tjänst. 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ärdet för är inte tillgänglig för alla formulärobjekt, till exempel paneler och knappar i verktygsfält. En standarduppsättningsvärde för regel har följande struktur:
Ange värdet för objekt A till:
(sträng ABC) OR
(objektegenskap X för objekt C) OR
(värde från en funktion) OR
(värde från ett matematiskt uttryck) OR
(datavärde för en datamodelltjänst),
När (valfritt):
(Villkor 1 OCH Villkor 2 OCH Villkor 3) är SANT;
I följande exempel väljs värdet Question2
för as True
och värdet för as Result
correct
.
Exempel på regel för att ange värde med hjälp av tjänsten Form Data Model.
Show show
Med hjälp av Show regeltypen kan du skriva en regel för att visa eller dölja ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Regeltypen Visa utlöser också åtgärden Dölj om villkoret inte uppfylls eller returneras False
.
En typisk 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;
Hide hide
På liknande sätt som med regeltypen Visa kan du använda regeltypen Hide för att visa eller dölja ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Dölj regeltyp utlöser även åtgärden Visa om villkoret inte uppfylls eller returnerar 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;
Enable enable
Regeltypen Enable gör att du kan 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 returnerar 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;
Disable disable
På liknande sätt som för typen Aktivera regel kan du med regeltypen Disable aktivera eller inaktivera ett formulärobjekt baserat på om ett villkor är uppfyllt eller inte. Regeltypen Inaktivera utlöser också åtgärden Aktivera om villkoret inte uppfylls eller returnerar 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;
Validate validate
Regeltypen Validate 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;
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 regelredigerarens användargränssnitt i ett adaptivt formulär i redigeringsläge.
Så här startar du användargränssnittet för regelredigeraren:
-
Öppna ett adaptivt formulär i redigeringsläge.
-
Markera det formulärobjekt som du vill skriva en regel för och välj i komponentverktygsfältet. Användargränssnittet för regelredigeraren visas.
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.
-
Välj Create om du vill 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.
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 adaptivt formulärobjekt med namnet Fråga 1 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 adaptiva 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 till en platshållare, får platshållaren automatiskt rätt värdetyp.
De formulärobjekt som har en eller flera giltiga regler markerade med en grön punkt. Om någon av reglerna 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 summan av, Min av, Max av, Medel av, Antal, och Validera formulär. Du kan använda de här funktionerna för att beräkna värden i repeterbara paneler och tabellrader och använda dem i action- och condition-satser när du skriver regler. Du kan emellertid också skapa anpassade funktioner.
En del av listan med funktioner visas i figuren:
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 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 Skriva regler.
E. Knapparna Klar och Avbryt done-and-cancel-buttons
Knappen Done 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.
Knappen 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
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.
Avsnittet Lånekrav i exempelformuläret för låneansökan kräver att sökande anger sitt civilstånd, lön och, om de är gifta, sin makes lön. Baserat på användarindata beräknar regeln låneberättigandebeloppet och visas i fältet Låneberättigande. Använd följande regler för att implementera scenariot:
- Fältet Makes/makas lön visas endast när civilståndet är gift.
- Låneberättigandebeloppet är 50 % av den totala lönen.
Så här skriver du regler:
-
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. Markera komponenten Marital Status och välj . Välj sedan Create för att starta regelredigeraren.
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.
-
Välj listrutan Select State och välj is equal to. Fältet Enter a String visas.
-
I fältet Enter a String i regeln väljer du Gift i listrutan.
Du har definierat villkoret som
When Marital Status is equal to Married
. Definiera sedan åtgärden som ska utföras om villkoret är sant. -
Välj Show i listrutan Select Action i programsatsen then.
-
Dra och släpp fältet Spouse Salary från fliken Formulärobjekt i fältet Drop object or select here. Du kan också markera fältet Drop object or select here och välja fältet Spouse Salary på snabbmenyn, där alla formulärobjekt i formuläret listas.
Definiera sedan åtgärden som ska utföras om villkoret är Falskt.
-
Klicka på Add Else Section om du vill lägga till ytterligare ett villkor för fältet Spouse Salary om du väljer Marital status som enskilt.
-
Välj Hide i listrutan Select Action i Else-satsen.
-
Dra och släpp fältet Spouse Salary från fliken Formulärobjekt i fältet Drop object or select here. Du kan också markera fältet Drop object or select here och välja fältet Spouse Salary på snabbmenyn, där alla formulärobjekt i formuläret listas.
Regeln visas så här i regelredigeraren.
-
Välj Done om du vill spara regeln.
-
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å det här resultatet skapar du Set value Of regler för fältet Lånekvalificering.
I redigeringsläget markerar du fältet Loan Eligibility och väljer . Välj sedan Create för att starta regelredigeraren.
-
Välj Set Value Of-regel i listrutan Regel.
-
Välj Select Option och välj Mathematical Expression. Ett fält som skriver matematiskt uttryck öppnas.
-
I uttrycksfältet:
-
Markera eller dra och släpp fältet Salary i det första Drop object or select here-fältet på fliken Forms-objekt.
-
Välj Plus i fältet Select Operator.
-
Markera eller dra och släpp fältet Spouse Salary i det andra Drop object or select here-fältet på fliken Forms-objekt.
-
-
Välj sedan Extend Expression i det markerade området runt uttrycksfältet.
I fältet för utökat uttryck väljer du divided by i fältet Select Operator och Number i fältet Select Option. Ange sedan 2 i nummerfältet.
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.
-
Välj Add Condition om du vill lägga till en When-sats.
I programsatsen When:
-
Markera eller dra och släpp fältet Marital Status i det första Drop object or select here-fältet på fliken Forms-objekt.
-
Välj is equal to i fältet Select Operator.
-
Välj Sträng i det andra Drop object or select here fältet och ange Married i fältet Enter a String .
Regeln visas slutligen på följande sätt i regelredigeraren.
-
-
Välj Done. Det sparar regeln.
-
Upprepa steg 7 till 14 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.
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.
Du kan skriva en kombinerad regel för att kontrollera synligheten för fältet för makarnas lön och beräkna rätten till lån när civilstånd gifta sig med villkoret Annars.
Anpassade funktioner i regelredigeraren custom-functions
Förutom de användningsklara funktionerna, som Summan av, som listas under Funktioner, utdata, kan du även använda anpassade funktioner i regelredigeraren. Regelredigeraren stöder JavaScript ECMAScript 2019-syntax för skript och anpassade funktioner. Instruktioner om hur du skapar anpassade funktioner finns i artikeln Anpassade funktioner i Adaptiv Forms
Hantera regler manage-rules
Alla befintliga regler för ett formulärobjekt visas när du markerar objektet och väljer . 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.
Du kan utföra följande åtgärder på regler:
-
Utöka/komprimera: Innehållskolumnen i regellistan visar regelinnehållet. Om hela regelinnehållet inte visas i standardvyn kan du expandera innehållet genom att markera det.
-
Ä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 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å mot den eller dra och släppa den i önskad ordning i listan. -
Redigera: Om du vill redigera en regel markerar du kryssrutan bredvid regeltiteln. Alternativ för att redigera och ta bort regeln visas. Välj Edit om du vill öppna den valda regeln i regelredigeraren .
-
Ta bort: Om du vill ta bort en regel markerar du regeln och väljer Delete.
-
Aktivera/inaktivera: När du tillfälligt måste inaktivera användningen av en regel kan du välja en eller flera regler och välja Disable 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.
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:
-
Markera det formulärobjekt som du vill kopiera en regel från och välj i komponentverktygsfältet. Användargränssnittet för regelredigeraren visas med formulärobjektet markerat och de befintliga reglerna visas.
Mer information om hur du hanterar befintliga regler finns i Hantera regler.
-
Markera kryssrutan bredvid regeltiteln. Då visas alternativ för att hantera regeln. Välj Copy.
-
Markera ett annat formulärobjekt som du vill klistra in regeln i och välj Paste. 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. -
Välj Done om du vill 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.
Du kan också redigera genom att dra och släppa villkor i en regel. Markera och hovra över handtaget ( ) 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.
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 har inträffat 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.
När det ifyllda datumet infaller tidigare än det aktuella datumet visas textmeddelandet (intäkt) enligt följande:
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 som en sökande stannar på den aktuella adressen är mindre än 36.
När användaren anger att han eller hon har bott på den nuvarande bostadsadressen i mindre än 36 månader visas ett meddelande på formuläret om att mer bevis på hemvist kan begäras.
Exempelregler example
Anropa tjänsten Formulärdatamodell 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 (FDM) med webbtjänsten som datakälla. Du lägger till datamodellsobjekt och en get
-tjänst i formulärmodellen. Tjänsten visas på fliken Tjänster i formulärdatamodellen (FDM). Skapa sedan ett adaptivt formulär som innehåller fält från datamodellsobjekt för att samla in användarindata 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.
Följande regel visar hur du konfigurerar åtgärden Anropa tjänst för att slutföra exempelscenariot.
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, Are you an existing Geometrixx customer?, som innehåller alternativ för Yes och No. Värdet för Ja är 0 och Nej är 1.
-
Ett textfält, Geometrixx customer ID, som anger 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.
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.
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 order. 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.
A. 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å den här summan genom att skriva en Set Value Of-regel i cellen Total Quantity enligt nedan.
Regel i den visuella redigeraren
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.
Regel i den visuella redigeraren