Data validering
Ved at bruge autocomplete har vi gjort det nemmere for brugeren at indtaste dataene til en søgning, men når vi skal kommunikere med vores REST service kan vi godt støde på andre krav end de rent visuelle vi indtil nu har taget hånde om.
Når brugeren vil søge efter en adresse i Københavns sogn vil vores autocomplete funktionalitet finde frem til værdien ”101 København” der indsættes i indtastningsfeltet. Dernæst sender vi forespørgslen til vores REST service men denne vil kun acceptere at vi søger på sognets nummer, 101, og vil fejle hvis vi sender en forespørgsel på sognet ”101 København”.
For at håndtere dette benytter vi os af data validering, hvor vi vil håndtere formatteringen af vores data gennem en række simple regler. Blandt fordelene ved at benytte regelbaseret data validering er at vi kan undgå at skulle skrive ekstra kode til databehandlingslogik samt at vi får samlet formatteringen af vores data et centralt sted. Indsamlingen af vores data kan foregå flere steder i vores kode, og hermed gør vi det overflødigt at skulle duplikere logikken for data formattering de enkelte steder.
I dette tilfælde benytter vi et jQuery plugin kaldet serializeFilter der tillader os at angive vores formatteringsregler i en HTML attribut (data-format) på vores text input.
Dermed kan vi have den komplette værdi ”2100 København Ø” stående i vores text input, men kun sende ”2100” til serveren når vi læser vores data igennem kaldet til serializeFilter.