A jeśli chcesz robić własną, to coś w stylu:
function waliduj_data($date,$czypusty=0){
$tdate = split('[^0-9]',$date); if(checkdate((int
)$tdate[1
],(int
)$tdate[0
],(int
)$tdate[2
])){ $data = mktime(0
,0
,0
,$tdate[1
],$tdate[0
],$tdate[2
]); }else{
$error = 'niepoprawna data';
}
}else{
if($czypusty==1){$error = 'wpisz datę';}
}
$tablica[1] = $data;
$tablica[2] = ' value="'.$date.'"';
$tablica[0] = TRUE;
}else{
$tablica[0] = FALSE;
$tablica[3] = $error;
}
return $tablica;
}
- zwracana jest tablica, która zawiera 0 - TRUE/FALSE w zależności od poprawności walidacji, 1 - wpisaną datę jeśli jest błędna lub uniksowy znacznik czasu, gdy data jest poprawna, 2 - value do wykorzystania w inpucie, 3 - komunikat błędu. Można dodać także klasę CSS i oczywiście interfejs Twojej klasy nie musi ograniczać się do wartości domyślnych lub możesz w ogóle komunikaty błędów ustawiać gdzie indziej i w inny sposób, np. zapisywać to w szablonach formularzy.
Najlepiej bym to widział tak, że tworzysz formularz np. w XML, gdzie dla każdego inputa ustawiasz typ, opcje, komunikaty błędów etc. a resztę załatwia PHP.