Validace Data/času ve formuláři
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- CZechBoY
- Člen | 3608
Zdravim,
bude někdy podpora v Nette pro validaci data/času jako např. pro email?
Jak teď řešíte validaci data/času?
Já jsem teď zkoušel REGEXP, ale háže mi to chybu (samozřejmě validace proběhne správně):
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 31 in libs/Nette/Forms/Controls/TextBase.php on line 187
Díky za odpovědi
Editoval CZechBoY (17. 6. 2011 0:14)
- 22
- Člen | 1478
REGEXP ti neřeší validní datum, jako třeba 29–2–2001.
Dá se to nějak takto:
public static function check($date)
{
try {
$check = new DateTime($date);
} catch(Exception $e){
throw new Exception('Invalid date: '.$date);
}
if(isset($check)) {
$date = preg_replace('/[-\/]/', '.', $date);
$date = explode('.', $date);
//pro dd.mm.yyyy
return checkdate($date[1], $date[0], $date[2]);
}
}
Editoval 22 (17. 6. 2011 0:41)
- Jan Tvrdík
- Nette guru | 2595
CZechBoY wrote:
Jak teď řešíte validaci data/času?
Používám DatePicker.