Hallo zusammen,
ich arbeite mich gerade in die Extension 'formhandler' ein. Die Basis funktioniert samt Standard-Validierung bereits einwandfrei.
Jetzt bin ich aber an einem Punkt angekommen, wo ich eigene Validierungsregeln definieren muss. Z.B. ob jemand volljährig ist oder nicht (anhand des Geburtstages). Diese eigenen Error-Checks bekomme ich aber leider nicht implementiert und hoffe hier auf eure Hilfe. Bin echt ratlos.
Was ich bereits versucht habe:
Im Ordner typo3conf/ext/formhandler/Classes/Validator/ErrorChecks habe ich eine Datei namens Tx_Formhandler_ErrorCheck_isFullAge.php erstellt.
Diese enthält (erstmal nur zum Test ob die Einbindung überhaupt funktioniert) folgenden Inhalt:
Das Typoscript dazu sieht folgendermaßen ausPHP-Code:<?php
class Tx_Formhandler_ErrorCheck_isFullAge extends Tx_Formhandler_AbstractErrorCheck {
/**
* Checks by given date if person is fullaged or not
*
* @param array &$check The TypoScript settings for this error check
* @param string $name The field name
* @param array &$gp The current GET/POST parameters
* @return string The error string
*/
public function check(&$check, $name, &$gp) {
$checkFailed = '';
return $checkFailed = $this->getCheckFailed($check);
}
}
?>
validators {
1 {
class = Tx_Formhandler_Validator_Default
config {
fieldConf {
p1_geb {
errorCheck.1 = required
errorCheck.2 = date
errorCheck.2.pattern = d.m.Y
errorCheck.3 = isFullAge
}
}
}
}
}Die beiden ersten Validierungen (required und date) funktionieren. Nur bei meiner eigenen tritt folgender Fehler auf:
Im oben besagten Component Manager konnte ich leider nicht erkennen, woran die Implementierung scheitert.Caught exception: No valid implementation class for component "Tx_Formhandler_ErrorCheck_IsFullAge" found while building the component object (Class "Tx_Formhandler_ErrorCheck_IsFullAge" does not exist).
File: /html/typo3/typo3conf/ext/formhandler/Classes/Component/Tx_GimmeFive_Component_Manager.php(130)
Hat hier schon jemand Erfahrungen mit dem Erstellen eigener Error-Checks gemacht und kann mir sagen wie's geht? Würde mich sehr freuen!![]()
Gruß
raz
Hallo Leute,
ich bin jetzt doch noch selbst drauf gekommen! :)
Das Problem war natürlich nur ein ganz simples!
Der Component Manager schreibt einfach vor, dass der Name des Error-Checks im Dateinamen mit einem Großbuchstaben beginnt! Sonst findet er die Datei nicht!
Falsch:
Tx_Formhandler_ErrorCheck_isFullAge.php
Richtig:
Tx_Formhandler_ErrorCheck_IsFullAge.php
Vllt. hilft das ja noch wem anders mal weiter. :)
Gruß
raz
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen