Kontrola range, jeden parametr hodnota inputu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
wise
Člen | 161
+
0
-

Zdravím,

mám takovou technickou :)

Mám 2 inputy do kterých budu zadávat čísla,

jak (na straně klienta) ověřím, aby hodnota v jednom inputu byla
větší než hodnota v druhém inputu?

Jde to?

vivanatura
Člen | 3
+
0
-

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
+
0
-
$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
+
0
-

@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
+
0
-

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
+
0
-

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.