Kontrollen Personnummer används för att användaren ska kunna ange ett personnummer i e-tjänsten. Så här ser den ut i e-tjänstbyggaren.
Egenskap | Beskrivning |
Identifierare (mina sidor) | Vill man fylla i personnummer automatiskt om användaren är inloggad (via t.ex. BankID) så tar man personnummerkontrollen och anger True på egenskapen. |
Medsignerare (tidigare: CoSign) | Om personnumret är en medsignerares eller ej. OBS! Använd kontrollen Personnummer medsignerare om du vill använda dig av medsignering, ändra ej till "True" i denna kontroll. |
Standardvärde (tidigare: DefaultValue) | Standardvärde som ska användas i kontrollen. |
Visningsnamn (tidigare: DisplayName) | Den text som visas som rubrik i kontrollen. |
För mer information kring kontrollens egenskaper se avsnittet Gemensamma egenskaper.
Om man använder sig av validering så måste kontrollen innehålla ett giltigt personnummer, eller lämnas tom för att man ska kunna gå vidare i e-tjänsten.
OBS! Fältet kan lämnas tomt i standard valideringsscript
Genom att nyttja funktionen för att generera valideringsscript kan vi med automatik skapa vår validering.
Markera kontrollen för personnummer/organisationsnummer som du vill validera och leta efter egenskapen "Generera script", klicka sedan på pilen längst till vänster för att visa valen för scriptgenereringen.
"Max ålder" anger max antal år
"Min ålder" anger minst antal år .
"Valideringstyp" Dessa typer finns: Personnummer, Organisationsnummer
I exemplet nedan har vi anget ett vilkor för att validera ett fält som innebär att användaren måste minst vara 18 år, dvs Min ålder = 18
return isEmpty([this]) || isPersonNumber([this]);
Om användaren måste ange ett personnummer, då byter vi ut valideringsscriptet till:
return isPersonNumber([this]);
Om vi inte vill kontrollera dom fyra sista siffrorna i personnumret kan vi använda:
(Till denna typen av kontroll kan vi använda en vanlig Textbox istället)
return isShortPersonNumber([this]);
Om vi vill kontrollera att användaren har en viss ålder, tex. 18 år, då kan vi göra på detta sätt:
var ageYear = 0; //Variabel för ålder
//Vi kontrollerar så att vi kan hämta födelsedatum
if(isShortPersonNumber([this])) //Innehåller YYYYMMDD
{
var personNumber = ($([this]).val()); //Angivet datum YYYYMMDD
var currDate = new Date(); //Vi hämtar dagens datum, så att vi kan jämföra mot födelsedatum.
//CheckAge
var ageYear = currDate.getFullYear() - personNumber.substr(0,4); //Hämtar födelseår
var ageMonth = currDate.getMonth() - (personNumber.substr(4,2) - 1); //Hämtar födelsemånad. Tar månad-1 eftersom månad räknas 0-11
var ageDay = currDate.getDate() - personNumber.substr(6,2); //Hämtar födelsedag
if(ageMonth < 0 || (ageMonth === 0 && ageDay < 0))
{
ageYear--; //Hur många år får vi ihop
}
}
return ageYear >= 18; //Kontrollerar så att användaren är minst 18 år. Ändra 18 till önskad ålder.
Se avsnittet Validera fält i din e-tjänst för fler exempel.