Guten morgen typo3-Freunde Wie ich soeben herausgefunden habe funktioniert die Validierung des "bdate" eigentlich. Was nicht funktioniert ist das Zusammenspiel zwischen bdate.errorCheck und dem AJAX-Validator. Wie ich schon vermutete, kommt im Falle des AJAX-Validators der Inhalt des Feldes "adate" nicht vor (das Formular wurde ja noch nicht abgeschickt). Der AJAX-Validator schickt anscheinend nur das aktuelle Feld ab und das reicht nicht für den Vergleich im typoscript.
Sehr schade, denn so muß ich um einen guten Datums-Validator zu haben, auf den AJAX-Validator und dessen "fancy stuff" verzichten. Johannes -----Ursprüngliche Nachricht----- Von: [email protected] [mailto:[email protected]] Im Auftrag von Johannes C. Schulz - EnzephaloN IT-Solutions Gesendet: Donnerstag, 2. Mai 2013 15:59 An: [email protected] Betreff: [TYPO3-german] Formhandler Datums-Validierung Hallo typo3-Gemeinde Ich bastele immernoch an einem Formhandler-Formular in dem zwei Daten einzugeben sind. Das zweite Datum darf nicht kleiner als das erste Datum sein. Dazu fand ich im Netz folgenden Code: adate.errorCheck{ 1 = required 2 = date 2.pattern = d.m.Y 3 = dateRange 3.pattern < .2.pattern 3.min = TEXT 3.min{ setCurrent.data = date:U setCurrent.wrap = (7*86400) + | current = 1 prioriCalc = 1 strftime = %d.%m.%Y } 3.max = TEXT 3.max { setCurrent.data = date:U setCurrent.wrap = (365*86400) + | current = 1 prioriCalc = 1 strftime = %d.%m.%Y } } bdate.errorCheck{ 1 = required 2 = date 2.pattern = d.m.Y 3 = dateRange 3.pattern < .2.pattern 3.min = TEXT 3.min{ setCurrent.data = GP : formhandler | adate setCurrent.preUserFunc = user_strtotime->main setCurrent.wrap = 86400 + | current = 1 prioriCalc = 1 strftime = %d.%m.%Y } 3.max = TEXT 3.max { setCurrent.data = GP : formhandler | adate setCurrent.preUserFunc = user_strtotime->main setCurrent.wrap = (30*86400) + | current = 1 prioriCalc = 1 strftime = %d.%m.%Y } } Die userFunc user_strtotime.php habe ich für meine Zwecke neu geschrieben: <?php class user_strtotime { var $cObj; // The backReference to the mother cObj object set at call time /* * Call it from a USER cObject with 'userFunc = user_strtotime->main' */ function main($content, $conf){ $timestamp = null; $datum = array(); $datum = explode('.',$content); $ob = mktime(0,0,0,$datum[2],$datum[1],$datum[3]); return $ob; } } ?> Allerdings kommt in der userFunx in der Variablen $content nichts an. Anscheinend kommt aus dem TS an der Stelle setCurrent.data = GP:formhandler|adate nichts heraus. Es handelt sich um ein 1-Step-Formular geht da das überhaupt auf ein anderen Eingabefeld mit GP:formhandler zuzugreifen?? Wenn nicht wie greife ich dann darauf zu um die zwei Werte gegeneinander abzugleichen? Viele Grüße Johannes _______________________________________________ TYPO3-german mailing list [email protected] http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german _______________________________________________ TYPO3-german mailing list [email protected] http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
