Algemene eigenschappen formulier elementen
Naam
Naam die je aan het formulier element hebt gegeven. In de JSON gebruik je de eigenschap "label"
.
Key
Unieke referentie van het formulier element. In de JSON-definitie gebruik je de eigenschap "name"
.
Type
Geselecteerd element type. Klik hier voor een beschrijvend overzicht van formulier elementtypes. In de JSON-definitie gebruik je de eigenschap "type"
.
Type | JSON |
---|---|
Keuze |
|
Meerkeuze |
|
Ja/nee |
|
Tekstvak |
|
Tekst |
|
| |
Datum |
|
Information |
|
Getal |
|
Kaart |
|
Bijlage |
|
Bijlage lijst |
|
Veldengroep |
|
Lijst |
|
Sectie | Maakt geen gebruik van de |
Zichtbaar
Optie | Uitleg |
---|---|
Altijd | Formulierelement is altijd zichtbaar. Dit is de default, hiervoor hoef je niets te definiëren in de JSON. |
Als | Formulierelement is zichtbaar als de geselecteerde expressie |
Nooit | Formulierelement is nooit zichtbaar voor de gebruiker en dient als verborgen element om extra informatie aan het formulier toe te voegen. Omdat ze niet beschikbaar zijn voor de gebruiker, kunnen verborgen velden alleen automatisch worden ingevuld. Zie |
Behoud waarden wanneer veld verborgen is
Deze checkbox wordt beschikbaar als de eigenschap Zichtbaar
is ingesteld op Als
. Aangevinkt betekent dat de waarde behouden blijft als het veld verborgen wordt (d.w.z. het is nog steeds beschikbaar op de achtergrond en kan gebruikt worden in formulierexpressies). Niet aangevinkt betekent dat de waarde wordt verwijderd als het veld verborgen wordt.
Voorbeeld eigenschap in de JSON-formulierdefinitie (checkbox Behoud waarden wanneer veld verborgen is
ingeschakeld). Hier gebruik je "computedShow"
:
"computedShow": [
"calculatedDate"
],
Voorbeeld eigenschap in de JSON-formulierdefinitie (checkbox Behoud waarden wanneer veld verborgen is
uitgeschakeld). Hier gebruik je "onlyWhen"
:
"onlyWhen": [
"calculatedDate"
],
Verplicht
Optie | Uitleg |
---|---|
Altijd | Formulierelement is altijd verplicht. De gebruiker kan het formulier niet doorsturen zonder een geldige waarde in dit veld in te voeren. In de JSON-definitie gebruik je |
Als | Formulierelement is verplicht als de geselecteerde variabele waar is. Variabelen worden uit het logica tabblad gehaald. In de JSON-definitie gebruik je hiervoor de eigenschap “required” gevolgd door de variabele. Opmerking: als je een |
Nooit | Formulierelement is niet verplicht. Dit is de default, hiervoor hoef je niets te definiëren in de JSON. |
Alleen lezen
Optie | Uitleg |
---|---|
Altijd | Formulierelement kan nooit ingevuld worden door de gebruiker. Omdat ze niet beschikbaar zijn voor de gebruiker, kunnen |
Als | Formulierelement is enkel leesbaar als de geselecteerde variabele waar is. Variabelen worden uit het logica tabblad gehaald. In de JSON-definitie gebruik je hiervoor de eigenschap “read-only” gevolgd door de variabele. |
Nooit | Formulierelement is nooit alleen lezen en kan door de gebruiker worden ingevuld. Dit is de default, hiervoor hoef je niets te definiëren in de JSON. |
Visualisatie
Bepaalt de manier waarop het formulierveld wordt weergegeven in het formulier.
Niet gespecificeerd
, de default.Andere
, geef een aangepaste visualisatie op die is aangemaakt door een front-end ontwikkelaar. Voor meer info zie de pagina omtrent extensies & customisaties.Voor enkele types formuliervelden worden hier nog specifieke opties beschikbaar gesteld. Klik hier voor een overzicht.
Anonimiseer veld
Aangevinkt betekent dat de waarde van dit veld (en de vorige waarden - historiek) permanent verwijderd kan worden door een servicetaak. Niet aangevinkt betekent dat de waarde van dit veld niet kan worden verwijderd. Meer informatie vind je in de sectie Anonimiseren.
Voorbeeld eigenschap in de JSON-formulierdefinitie:
"anonymizable": {
"method": "delete"
}
Hulp
Hulp aan de gebruiker van het formulier. Voer een tekst in die de betekenis van het veld verduidelijkt (door een tip of een voorbeeld te geven).
Altijd zichtbaar
Alleen relevant als Hulp
is ingevuld. Aangevinkt betekent dat de helptekst by default zichtbaar is voor de gebruiker. Niet aangevinkt betekent dat de hulp tekst alleen zichtbaar wordt als de gebruiker een icoon aanklikt.
Voorbeeld eigenschap in de JSON-formulierdefinitie (met Altijd zichtbaar
ingeschakeld):
"help": "Geef je leeftijd in. Minimale leeftijd is 18 jaar.",
"helpInLine": true,
Automatisch invullen veld
Optie | Uitleg |
---|---|
Nooit | Veld kan alleen door de gebruiker worden ingevuld. Dit is de default, hiervoor hoef je niets te definiëren in de JSON. |
Ja, de gebruiker kan het steeds wijzigen | Veld wordt automatisch ingevuld bij initialisatie, maar de gebruiker kan de waarde bewerken. Hiermee kan je ofwel naar een vaste beginwaarde, ofwel naar een berekende beginwaarde verwijzen. Let wel: na initialisatie van het formulier zal de beginwaarde niet meer automatisch updaten (ook al wijzigen ondertussen de inputwaarden voor de expressie die de beginwaarde berekent). Voorbeeld eigenschap in JSON-formulierdefinitie (indien er een vaste beginwaarde ingevuld wordt): Voorbeeld eigenschap in JSON-formulierdefinitie (indien er een berekende waarde ingevuld wordt): |
Ja, maar de gebruiker kan het niet wijzigen indien | Het veld wordt automatisch ingevuld indien een bepaalde conditie waar is. De gebruiker kan de waarde niet wijzigen. Hiermee kan je verwijzen naar een dynamisch berekende waarde, d.w.z. als na initialisatie formulier de inputwaarden voor de expressie wijzigen, dan zal de berekende waarde zichzelf updaten. Voorbeeld eigenschap in
CODE
|
Ja, gebruiker kan het nooit wijzigen | Veld wordt automatisch ingevuld en de gebruiker kan de waarde nooit wijzigen (alleen-lezen principe). Hiermee kan je verwijzen naar een dynamisch berekende waarde, d.w.z. als na initialisatie formulier de inputwaarden voor de expressie wijzigen, dan zal de berekende waarde zichzelf updaten. Voorbeeld eigenschap in |
Vul vaste waarde in
Alleen beschikbaar als waarde automatisch wordt ingevuld én de gebruiker deze waarde kan wijzigen. Kijk verder naar de eigenschap Beginwaarde
.
Vul berekende waarde in
Alleen beschikbaar als de waarde automatisch wordt ingevuld (eender welke ‘ja’-optie). Kijk verder naar de eigenschap Berekende beginwaarde
.
Beginwaarde
Alleen beschikbaar als Vul vaste waarde in
geselecteerd is. Vul een waarde in die overeenkomt met het waardetype van het formulierelement (dus geen tekst invullen in een veld met type getal). Voorbeeld eigenschap in de JSON-formulierdefinitie: "default": "Welkom!",
Berekende beginwaarde
Alleen beschikbaar als Vul berekende waarde in
is geselecteerd. Selecteer een formulliervariabele uit de keuzelijst. Formuliervariabelen komen uit het tabblad logica.
Voorbeeld eigenschap in de JSON-formulierdefinitie (indien gebruiker kan wijzigen): "computedDefault": "toegangsPrijs",
Voorbeeld eigenschap in de JSON-formulierdefinite (indien gebruiker niet kan wijzigen): "computedWith": "meerderjarig",
Condities
Validatieregel die een foutboodschap of waarschuwing genereert als de invoer niet overeenkomt met de gedefinieerde conditie. Een foutboodschap voorkomt dat de gebruiker het formulier indient. Een waarschuwing is slechts informatief en stelt de gebruiker nog steeds in staat het formulier in te dienen.
Je kunt meerdere condities definiëren. De foutboodschap of waarschuwing wordt gegenereerd als de conditie onwaar is en dus false
retourneert.
Voorbeeld in JSON:
{
"name": "geefGetal",
"label": "Geef een getal tussen 10 en 20",
"type": "number",
"conditions": [
{
"name": "getalTussen10En20",
"level": "error",
"expression": "$ !== undefined ? $ > 10 && $ < 20 : true",
"errorMessage": "Getal moet tussen 10 en 20 liggen."
}
]
},
Zie de pagina formulier validatie voor meer conceptuele info + info over gebruikerservaring.
Undefined check
Via de ‘undefined’ check $ ! == undefined ? [conditie] : true
zorg je ervoor dat de melding niet getoond wordt wanneer het veld nog niet ingevuld is.
De undefined check kan uiteraard ook op de volgende manier gebeuren:
$ === undefined ? true : [conditie]
Voorbeeld 1
Bij een getalveld mag de waarde niet hoger zijn dan 20.
$ !== undefined ? $ <= 20 : true
Indien de ingevoerde waarde niet matcht met de conditie, wordt een foutboodschap of waarschuwing gegeven. Wie bijvoorbeeld ‘21’ invoert, krijgt de waarschuwing ‘Getal mag niet hoger zijn dan 20'.
Voorbeeld 2
Bij een getalveld mag de waarde niet lager zijn dan 20, maar ook niet hoger dan 40.
$ >= 20 && $ <= 40
Wie bijvoorbeeld ‘19’ of ‘41’ invoert, krijgt de melding. Als er een vaste beginwaarde ‘0' werd ingesteld, zal de melding al meteen bij het openen van het formulier zichtbaar zijn. Als je dit niet wil, moet je de 'undefined’ check toepassen.
$ !== undefined ? $ >= 20 && $ <= 40 : true
Voorbeeld 3
Lijst met mee te nemen accessoires waarbij het niet mogelijk mag zijn om tegelijk een paraplu én een parasol te selecteren.
$.selectedOptions.paraplu !== true && $.selectedOptions.parasol !== true
Enkel wanneer beide true
teruggeven (dus wanneer én paraplu én parasol geselecteerd zijn) wordt de melding gegeven.
Voorbeeld 4
Bij keuzeveld is één van de opties ‘other’. Wie dit selecteert, krijgt een waarschuwing.
$.selectedOption !== 'other'
De melding wordt gegeven als de geselecteerde optie 'other' is. In alle andere gevallen (een andere of geen optie geselecteerd) wordt de melding niet gegeven.
Voorbeeld 5
Bij meerkeuzeveld is één van de opties 'A'
$.selectedOptions.a === false
Het bericht wordt weergegeven als de geselecteerde optie A is. In dat geval wordt immers false
geretourneerd. In alle andere gevallen (een andere of geen optie geselecteerd) wordt true
geretourneerd en wordt de melding niet weergegeven.
Voorbeeld 6
Geldigheid checken van een ingevoerd rekeningnummer (IBAN), rijksregisternummer (RRN), code aansluiting gas of elektriciteit (EAN).
IBAN:
typeof $ === 'string' && $.length > 0 ? ($.substring(0,2) === 'BE' ? ((($.substring(4,16) + '1114') % 97 + $.substring(2,4)) % 97 === 1) : ((($.substring(2,14) + '1114') % 97 + $.substring(0,2)) % 97 === 1)): true
RRN:
typeof $=== 'string' && $.length > 0 ? (97 - ($.substring(0,9) % 97) - $.substring(9,11) === 0) || (97 - ((2 + $.substring(0,9)) % 97) - $.substring(9,11) === 0) : true
EAN:
$ === '' ? true : ((10 - (((53 + 4 + 13 + 4 + 4*3 + parseInt($[0]) + parseInt($[1])*3 + parseInt($[2]) + parseInt($[3])*3 + parseInt($[4]) + parseInt($[5])*3 + parseInt($[6]) + parseInt($[7])*3 + parseInt($[8]) + parseInt($[9])*3 + parseInt($[10]) + parseInt($[11])*3)) % 10)) % 10) === parseInt($[12])
Voorbeeld 7
Een datumveld. De ingevoerde waarde moet tussen vandaag en één maand in de toekomst liggen. Hier passen we de ‘undefined’ check toe, anders wordt de melding al meteen bij het openen van het formulier gevisualiseerd.
$ !== undefined ? moment($) < moment().add(1,'months') && moment($).hour(23).minute(59).second(59) >= moment():true
Het bericht wordt weergegeven als de geselecteerde datum ofwel verder an één maand in de toekomst ligt, ofwel in het verleden ligt.
Meer info over het schrijven van expressies kan je terugvinden op de pagina formulier expressies syntax. Bij formulier expressies voorbeelden vind je nog wat extra voorbeelden van validatieregels.