Nefunguje validace addDate()
- pista5
- Člen | 72
Zdravim,
zkousim validaci datumu presne podle manualu, ale nefunguje… pokud dam nizke
datum, prohlizec zpravu zobrazi, pokud dam vyhovujici datum, onSuccess vubec
neprobehne… pokud dam Zavrit (tj. bez validace) probehne.
Absolutne nechapu, kde muze byt u takoveto jednoduche veci problem? :))
$form = new Form;
$form->getElementPrototype()->class('ajax');
$form->addDate('datum', 'Datum vyzvednutí')
->setRequired('Zadejte prosím datum vyzvednutí')
->setHtmlAttribute('class', 'form-control form-control-sm')
->setDefaultValue(new \DateTime('+1 day'))
->addRule(Form::Min, 'Nejbližší datum vyzvednutí je zítra', new \DateTime('+1 day'));
$form->addTextArea('poznamka', 'Poznámka pro kurýra')
->setHtmlAttribute('class', 'form-control form-control-sm');
$form->addSubmit('send', 'Odeslat')
->setHtmlAttribute('class', 'btn btn-sm btn-primary');
$form->addSubmit('zpet', 'Zavřít')
->setHtmlAttribute('class', 'btn btn-sm btn-secondary ms-2')
->setValidationScope([]);
$form->onSuccess[] = function(Form $form, $values): void
{
Debugger::barDump($values);
}
- nightfish
- Člen | 516
@pista5 Kód new \DateTime('+1 day')
vrátí aktuální
datum a čas, zvýšený o 1 den – tzn. když to zavolám teď, vrátí to
2024–11–07 15:53:00. Zatímco z formulář ti projde datum 2024–11–07
(00:00:00). Když se pak porovná, jestli 2024–11–07 00:00:00 je větší
než 2024–11–07 15:53:00, výsledek je negativní.
Hotfix (new \DateTimeImmutable('+1 day'))->setTime(0, 0)
.
- pista5
- Člen | 72
nightfish napsal(a):
@pista5 Kód
new \DateTime('+1 day')
vrátí aktuální datum a čas, zvýšený o 1 den – tzn. když to zavolám teď, vrátí to 2024–11–07 15:53:00. Zatímco z formulář ti projde datum 2024–11–07 (00:00:00). Když se pak porovná, jestli 2024–11–07 00:00:00 je větší než 2024–11–07 15:53:00, výsledek je negativní.Hotfix
(new \DateTimeImmutable('+1 day'))->setTime(0, 0)
.
Diky, tohle funguje, ale neni tam precijen najaka chyba?
Pokud to zavolam, jak jsem to volal ja, tak se preci mela ozvat validace a
vyskocit hlaska, ze datum je nizke (pokud jsem dal datum 6.11., tak hlaska
spravne vyskocila)… jenze ono se nestalo vubec nic… ani hlaska, ani
onSuccess… to me zarazilo… pokud by se ozvala hlaska, asi bych hledal ten
problem, co si popsal.
- nightfish
- Člen | 516
Diky, tohle funguje, ale neni tam precijen najaka chyba?
Pokud to zavolam, jak jsem to volal ja, tak se preci mela ozvat validace a vyskocit hlaska, ze datum je nizke (pokud jsem dal datum 6.11., tak hlaska spravne vyskocila)… jenze ono se nestalo vubec nic…
@pista5
Tak to máš problém v něčem jiném, mně hláška v takovém případě
bez problémů vyskočí. Nerenderuješ si formulář ručně? To by ti tam pak
mohlo třeba chybět vypsání chybových hlášek… (viz https://doc.nette.org/…ms/rendering#…)