---
title: "Validera variabelt antal datumfält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/131821-validera-variabelt-antal-datumfält"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "devotion"
published: "2005-07-24T19:43:34.000Z"
updated: "2005-07-24T21:08:27.000Z"
replies: 2
views: 263
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/131821-validera-variabelt-antal-datumfält"
---

# Validera variabelt antal datumfält

## #1 — devotion, 2005-07-24T19:43Z

Hej! :e 
Jag har följande kod för att validera ett datumfält:

```
<script LANGUAGE="javascript">
<!-- 
function validateDate(datum)
{

var ar        = datum.substr(0,4);
var manad     = datum.substr(5,2);
var dag       = datum.substr(8,2);
var nyttDatum = new Date(ar,manad-1,dag);

var msg = "Kontrollera Datumet! Det ska vara i formatet: ÅÅÅÅ-MM-DD."

if(
 datum.length>10              ||
 datum.charAt(4)!="-"         ||
 datum.charAt(7)!="-"         ||
 nyttDatum.getFullYear()!=ar   ||
 nyttDatum.getMonth()+1!=manad ||
 nyttDatum.getDate()!=dag
 ){alert(msg); return false;}
 
return true; 
} 
//--> 
</script> 
...
...
onsubmit="return validateDate(this.datefield.value);"
```

Funkar finfint på formulär där fälten alltd har samma namn.

Nu har jag skapat ett formulär där man kan välja antalet poster man vill registrera med en listmeny. Varje post har ett datumfält. Datumfältet för varje post heter; datum1, datum2, datum3 osv beroende på hur många poster man valt.

Hur gör jag för att validera dessa datumfält?

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/131821

## #2 — @nders, 2005-07-24T20:16Z

Lite klipp- och klistraövning gav:

```
<script type="text/javascript">
function check(theForm) {
	elements = theForm.elements;
	for(i=0; i<elements.length; i++){
		if(elements[i].id.substring(0,5) =="datum"){
			if (!validateDate(elements[i].value, elements[i].id))
				return false;
		}
	}
	return true;
}

function validateDate(datum, dateid) {
	var ar        = datum.substr(0,4);
	var manad     = datum.substr(5,2);
	var dag       = datum.substr(8,2);
	var nyttDatum = new Date(ar,manad-1,dag);

	var msg = "Kontrollera Datumet i fältet " + dateid + "! Det ska vara i formatet: ÅÅÅÅ-MM-DD."

	if(
		datum.length>10              ||
		datum.charAt(4)!="-"         ||
		datum.charAt(7)!="-"         ||
		nyttDatum.getFullYear()!=ar   ||
		nyttDatum.getMonth()+1!=manad ||
		nyttDatum.getDate()!=dag
	) {
		alert(msg); 
		return false;
	}
	return true; 
}
</script>

...

onsubmit="return check(this);"
```

Jag petade lite i indenteringarna, i värsta fall får du peta tillbaka. ;)

mvh

Permalänk: https://www.webforum.nu/p/1648330

## #3 — devotion, 2005-07-24T21:08Z

:e 
Funkar finfint!

Tack för det!!!

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/1648350

---

Tråden på webben: https://www.webforum.nu/amne/javascript/131821-validera-variabelt-antal-datumfält
