Zum Inhalt springen

formhandler und dateRange-Validierung

Erstellt am 5. August 2010 · 3 Antworten · letzte Antwort am 6. August 2010

Tags: Frage

kondor ·

Hallo.

In meinem Formular (auf Basis von formhandler) wollte\will ich mein Datumsfeld validieren.

Mit Hilfe von dateRange habe ich vor, dass der User nur das Datum auswählen kann , die zwischen 14 Tagen liegt (also heute plus 14 Tage)

ich habe folgendes im setup-file des Formulars gemacht (abk. nur Validation)

validators {
		1 {
			class = Tx_Formhandler_Validator_Default
			config {
				fieldConf {
					firstname {
						errorCheck.1 = required
						errorCheck.2 = maxLength
						errorCheck.2.value = 50
					}
					lastname {
						errorCheck.1 = required
						errorCheck.2 = maxLength
						errorCheck.2.value = 50
					}
					email {
						errorCheck.1 = required
						errorCheck.2 = email
					}
					telefon {
						errorCheck.1 = integer
					}
					datum {
						errorCheck.1 = date
						errorCheck.1.pattern = dd-mm-yyyy
						#errorCheck.2 = dateRange
						#errorCheck.2.pattern = dd-mm-yyyy
						# min date
						#errorCheck.2.min = TEXT
						#errorCheck.2.min.data = date : U
						#errorCheck.2.min.strftime = %d-%m-%Y
						# max date 2 weeks / 14 days
						#errorCheck.2.max = TEXT
						#errorCheck.2.max.data = date: U + (14*86400)
						#errorCheck.2.max.strftime = %d-%m-%Y
	
					}
				}
			}
		}
	}

und die Validierung funktioniert, aber dateRange haut nicht hin, deswegen ist dieser Abschnit jetzt auskommentiert.

Vieleicht kann mir jemand von Euch ein Tipp geben , was ich da einschmuggeln soll.

Besten Dank für jede Hilfe

theis ·

Hallo kondor,

probier es mal so (pattern geändert und nur dateRange errorcheck. Ich bin mir nicht sicher, ob man bei data überhaupt rechnen darf.

...
					datum {
						errorCheck.1 = dateRange
						errorCheck.1.pattern = d-m-y
						# min date
						errorCheck.1.min = TEXT
						errorCheck.1.min.data = date:U
						errorCheck.1.min.strftime = %d-%m-%Y
						# max date 2 weeks / 14 days
						errorCheck.1.max = TEXT
						errorCheck.1.max.data = date:U + (14*86400)
						errorCheck.1.max.strftime = %d-%m-%Y
...

Gruss
Theis

kondor ·

Hallo theis,

danke für die Antwort, aber so funktioniert es auch nicht 🙁.

Schade, vielleicht hat noch jemand ein Tipp 🙂