Kontrola range, jeden parametr hodnota inputu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vivanatura
- Člen | 3
Jsem úplný začátečník, ale dělal bych to asi tak, že v metodě pro odeslání formuláře si dáš podmínku, kde
<?php
$data = $form->getValues();
if ($data['input1'] > $data['input2']){
odeslani formulare
}
else ......
?>
Kdyžtak mě nekamenujte, teprve začínám.
- Filip Procházka
- Moderator | 4668
$form['prvni']->addRule(function ($prvni, $druhy) {
return $prvni->value < $druhy->value; // prvni je mensi nez druhy
}, "První není menší než druhý!", $form['druhy']);
- Jakub Lédl
- Člen | 55
@Wise: pokud na straně klienta znamená Javascriptem, tak to, pokud je mi známo, nejde (leda napsáním nějakého JS přímo do šablony). Řešením je HosipLanova serverová validace.
Kdesi v hloubi vývojové dokumentace je zahrabána zmínka o validaci
Form::SCRIPT
, která dovolí specifikovat JS kód pro použití
při validaci. Zatím jsem si ale nenašel ani ve vývojové verzi.
- redhead
- Člen | 1313
Ale jde https://github.com/…8f529267ec17#…
Jinak nešlo by třebas:
$form['druhy']->addRule(Form::RANGE, "Musí být větší než první", array($form['prvni'], NULL));
- wise
- Člen | 161
redhead napsal(a):
Ale jde https://github.com/…8f529267ec17#…
Jinak nešlo by třebas:
$form['druhy']->addRule(Form::RANGE, "Musí být větší než první", array($form['prvni'], NULL));
Tohle jsem právě zkoušel a nešlo mi to. Použil jsem řešení viz výše. Díky moc.