PEAR Quickform - Datum vorbelegen
Im Laufe der Zeit habe ich natürlich auch mit diversen PEAR PHP CLasses gearbeitet. Eine sehr nützliche PEAR Class ist Quickorm, sie ermöglicht die simple Erzeugung und Validierung von Formularen in Webseiten.
Da hier aber auch öffters die Frage aufkommt, wie man z.B. ein Datumsfeld mit einem Datum vorbelegen kann, ist hier also mal ein Beispiel wie das geht:
$datum=”10-05-70″; # tag-monat-jahr
$xy= explode(”-”, $datum);
$datumd=array_shift($xy);
$datumm=array_shift($xy);
$datumy=array_shift($xy);
$formdefaults=array(
‘geburtsdatum’ => array(’d'=>$datumd,’m'=>$datumm,’Y'=>$datumy)
);$form->setDefaults($formdefaults);
Wenn man es einmal verstanden hat, ist es recht simpel, und kann den eigenen Bedürfnissen angepasst werden.
Hier auch nochmal ein paar weitere Funktionen die ich im verbindung mit einem Datumsfeld bei Quickform gelegentlich einsetze:
#
# angegebenes Datum existiert
#function datumOK ($a){
return checkdate($a['m'],$a['d'],$a['Y']);
}#
# user ist min. 18 Jahre alt
#function is18($a){
$heute = getdate();
return (($heute['year'] > ($a['Y'] + 18))|| (($heute['year'] == ($a['Y'] + 18)) && ($heute['mon'] > $a['m']))||(($heute['year'] == ($a['Y'] + 18)) && ($heute['mon'] == $a['m']) && ($heute['mday'] > ($a['d']-1))));}
und so werden die dann als regeln bei der Validierung der Formulareingaben eingesetzt:
define (’FORMGEN_VALIDATE’, “server”); # Formulareingaben erst auf Server prüfbar
$form->registerRule(’is18′,’callback’,'is18′);
$form->registerRule(’datumOK’,'callback’,'datumOK’);$form->addRule(’geburtsdatum’, ‘ungültiges Datum’, ‘datumOK’, null, FORMGEN_VALIDATE);
$form->addRule(’geburtsdatum’, ‘Mindestalter 18 Jahre’, ‘is18′, null, FORMGEN_VALIDATE);
je nach verwendetem Datumsformat müssen die Funktionen ggf. ein klein wenig angepasst werden.
# Kommentar von Heohni
am 5. Juni 2008 um 12:53 Uhr.
Hallo Martin,
ich suche nach einer Möglichkeit dem User 2 Datumsangaben auswählen zu lassen.
Urlaub: von - bis
Diese Daten müssen dann auch überprüft werden.
Gibts es dazu schon etwas fertiges?
# Pingback von PEAR QuickForm - Formular mit Validierung (PHP) | SteviesWebsite Blog
am 21. Mai 2009 um 14:40 Uhr.
[...] PEAR Quickform - Datum vorbelegen (martins-meinung.de) [...]