Datumintervall
Hjälp > E-tjänstebyggaren > 4. Lägg till kontroller i din e-tjänst > Datumintervall

Så här ser kontrollen Datumintervall ut i e-tjänstbyggaren.

 

Kontrollens egenskaper

Specifika egenskaper

Egenskap Beskrivning
Datum, från (tidigare: DefaultValueFrom) Det datum som visas i från. Måste vara i formatet yyyy-mm-dd. För dagens datum, ange d. Dagens datum +5 dagar, ange +5 (eller -5 om du vill ha ett tidigare datum).
Datum, till (tidigare: DefaultValueTo) Det datum som visas i till. Måste vara i formatet yyyy-mm-dd. För dagens datum, ange d. Dagens datum +5 dagar, ange +5 (eller -5 om du vill ha ett tidigare datum).
Visningsnamn, från (tidigare: DisplayNameFrom) Text som visas vid från-fältet.
Visningsnamn, till (tidigare: DisplayNameTo) Text som visas vid till-fältet.

För mer information kring kontrollens egenskaper se avsnittet Gemensamma egenskaper.

 

Exempel på hur kontrollen kan se ut för en användare av e-tjänsten

Validering

Om du använder dig av validering måste kontrollen innehålla giltiga datum för att man ska kunna gå vidare i e-tjänsten.

Se avsnittet Validera fält i din e-tjänst för fler exempel.

 

Valideringsscript

Standard valideringsscript ser ut på detta sätt

var from = getChildUniqueId([thisId], "from");  //Hämtar värdet i from. datum

var to = getChildUniqueId([thisId], "to");          //Hämtar värdet i tom. datum

//Vi kontrollerar att det är giltiga datum angivna och att tom. datum är senare än from. datum.

return isDate(from) && isDate(to) && !isDateLaterThan(from, to);                       

 

Om användaren måste ange ett from. datum som ska vara minst 10 dagar senare än dagens datum:

var from = getChildUniqueId([thisId], "from");  //Hämtar värdet i from. datum
var to = getChildUniqueId([thisId], "to");      //Hämtar värdet i tom. datum

//Sätter kontrolldatum till dagens datum + 10 dagar i variabeln d.
var d = new Date(); //Hämtar dagens datum
d.setDate(d.getDate() + 10); //Ändra till + 5 om du tex. vill lägga 5 dagar istället för 10

//Vi kontrollerar så att vi inte har ogiltiga datum, samt att tom. datum är senare än from. datum
if(isDateLaterThan(from, to) || (!isDate(from) || !isDate(to)))
{                          
       return false; //Ej giltigt datum, då går valideringen inte igenom.
}

//Är valt from. datum senare än dagens datum + 10 dagar?
return d < $.datepicker.parseDate("yy-mm-dd", getValue(getChildUniqueId([thisId], "from")));

 

Exempelscript

Här vill vi veta om användaren väljer/ändrar ett datum.

//Eftersom datumintervall innehåller två fält, from och tom, så finns det två olika kontroller som vi kan arbeta med via scriptet.

//Vill vi arbeta med datumfälten så tar vi kontrollens unika id och lägger till "_from" eller "_to" efter, beroende på vilken kontroll vi vill jobba med. Se exempel nedan.


//Lägger till en funktion som kollar om användaren ändrar i ett av datumfälten
$("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_from, #6ff8da02-863b-4c7f-8fdb-0b86736400d2_to").change(function()
{
          //En dialog med valda datum visas i detta exempel. Lägg till din önskade funktion här istället.
          alert($("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_from").val() + " " + $("#6ff8da02-863b-4c7f-8fdb-0b86736400d2_to").val());
});

 

Hitta fälten i datumkontrollen via script

Datumkontrollen innehåller flera kontroller, from och tom datum. Därför måste vi arbeta med kontrollen på ett speciellt sätt i våra script.

Kontrollnamnet för fråndatum är from och för tomdatum är to. Då kan vi tex. hämta värdet på detta sätt:

getValue(getChildUniqueId([thisId], "from"));

getValue(getChildUniqueId([thisId], "to"));

 


Se avsnittet Script i din e-tjänst för fler exempel.