Modul 6

Utvidelse av skjema med repeterende gruppe

I denne modulen skal du utvide applikasjonen du har laget i foregående moduler for å støtte mer av funksjonaliteten som Sogndal kommune ønsker.

Temaer som dekkes i denne modulen:

  • Repeterende grupper
  • Validering
  • Dataprosessering

Oppgaver

Krav fra kommunen

For å kunne skreddersy et best mulig tilbud til nye innflyttere ønsker vi oss en oversikt over tidligere bosteder til innflytteren.

På datasiden ønsker vi at det legges opp til at brukeren kan fylle inn tidligere bosteder. Tidligere bosteder skal inneholde følgende felter:

  • Gateadresse
  • Postnummer
  • Poststed

Det skal være mulig å legge inn opptill 10 tidligere bosteder.

Nyttig dokumentasjon

Forståelsessjekk

  • Hvilket felt i datamodellen er det som bestemmer om et element er repeterende?
  • Hvor mange repetisjoner er tillatt for feltet TidligereBosteder?

Krav fra kommunen

Grunnet en personlig vendetta blant en av Sogndal-kommunes ansatte ønsker vi at om innflytter fyller inn postnummer 4619 som en av tidligere bosteder IKKE skal få lov til å flytte inn i Sogndal. Her ønsker vi at det skal dukke opp en feilmelding på det aktuelle feltet med følgende tekst:

Du er ikke velkommen til vår kommune. Beklager!

Nyttig dokumentasjon

Forståelsessjekk

  • Når kjøres valideringer serverside?
  • Hvorfor burde valideringer som legges til på klientsiden også dupliseres serverside?

Krav fra kommunen

En av kommunens databehandlere har sett seg lei av å manuelt rette opp i en gateadresse som ofte blir skrevet feil av innflyttere. Vi ønsker derfor å programatisk fikse opp i dette under utfyllingen av appen.

Om sluttbruker fyller inn Sesame Street 1 i feltet Innflytter.Adresse.Gateadresse skal dette automatisk rettes til Sesamsgate 1. I alle andre tilfeller skal feltet forbli urørt.

Nyttig dokumentasjon

Forståelsessjekk

  • Når blir Data processing kjørt?
  • Hva skiller ProcessDataWrite og ProcessDataRead?
  • Hva er forskjellen på DataProcessing og Calculations?

Oppsummering

I denne modulen har du sett på repeterende grupper og hvordan dette konfigureres som en del av brukergrensesnittet. Vi har også sett på hvordan man setter opp custom valideringer i backend for caser som ikke lar seg definere som en del av restriksjoner i datamodellen. Til slutt har vi sett på hvordan man kan sette opp dataprosessering som muliggjør manipulering av data runtime.

Løsningsforslag

Dersom du ikke har fått til alle stegene har vi et løsningsforslag som du kan hente inspirasjon fra.

Skjermbilde av datainnsamlingsside med repeterende gruppe

Skjermbilde av datainnsamlingsside med repeterende gruppe