Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Blanketter i Blanketmotoren er bygget op som XML-data og Orbeon Forms, der ligger i kernen af Blanketmotoren understøtter en masse muligheder for at indlejre logik i de enkelte blanketter via sproget XPath. Logikken kan bruges til en lang række til, bl.a.

  • Felter med beregnede værdier baseret tidligere indtastninger

  • Validering af brugerinput

  • Vise/skjule felter

  • Gøre felter skrivebeskyttede

Hvad er XPath?

XPath er et sprog, der anvendes til at navigere mellem elementer og attributter i et XML dokument.

Læs en kort introduktion til Xpath her.

Ønsker I at dykke længere ned i redigering af XML, kan vi anbefale Notepad++, der er et gratis redskab til koderedigering.

Eksempler på valideringsregler

Blanketmotoren tilbyder rig mulighed for at opsætte valideringsregler på de enkelte felter i blanketten

Datoer

De mest almindelige valideringsregler på datofelter går på, hvorvidt en dato ligger før eller efter en anden dato, eksempelvis dags dato.

I tabellen nedenfor ses et par eksempler på, hvordan valideringsregler for datoer kan se ud

Regel

Formel

Dato må ikke være efter 22. juni 2022

. <= xs:date('2022-06-22')

Dato skal være før 22. juni 2022

. < xs:date('2022-06-22')

Dato må ikke være efter dags dato

. <= current-date()

Dato må ikke være mere end 7 dage efter dags dato

days-from-duration(. - current-date()) <= 7

Tal

Tekstfelter

De mest almindelige valideringsregler på tekstfelter går på enten længden af feltet eller hvorvidt værdien af feltet har et bestemt mønster, eks. 8 cifre til et CVR-nummer.

Længden af feltet kan valideres med indbyggede valideringsregler i Orbeon, mens at formatet af et tekstfelt kan valideres ved at bruge såkaldte Regex-udtryk (https://en.wikipedia.org/wiki/Regular_expression ) og functionen matches som i eksemplerne nedenfor

Regel

Formel

CVR-validering (8-cifre)

matches(., '^[0-9]{8}$')

CPR-validering (6 + 4 cifre med bindestreg)

matches(., '^\d{6}-\d{4}$')

Når man skal til at lave disse Regex-udtryk til sine valideringer, så kan et værktøj som eksempelvis https://regex101.com/ være nyttigt til at teste og forstå, hvad de enkelte dele af udtrykket betyder.

Avancerede XPath funktioner

  • No labels