Kontrola kladneho cisla vo formulari

vladimir.biro
Člen | 163
+
0
-

Ahoj.

Poradite mi prosimi niekto ako zvalidujem, ci je hodnota inputu kladne cislo?

Cize cokolvek vacsie ako 0 (vratane napriklad 0,001)

Dakujem.

galab
Backer | 74
+
-6
-

Co kouknout do dokumentace?

https://doc.nette.org/…s/validation#…

$form->addText('number')
    ->addRule(Form::MIN > 0);
uestla
Backer | 796
+
+2
-

@vladimirbiro Sice existuje pravidlo Form::MIN, ale to uzná i danou minimální hodnotu.

Abys nemusel použít vlastní validátor, dalo by se to snadno zkombinovat s ~Form::EQUAL:

$numMessage = 'Zadejte prosím kladné číslo.';

$form->addText('num')
	->addRule(Form::FLOAT, $numMessage)
	->addRule(~Form::EQUAL, $numMessage, 0)
	->addRule(Form::MIN, $numMessage, 0);
vladimir.biro
Člen | 163
+
0
-

galab napsal(a):

Co kouknout do dokumentace?

https://doc.nette.org/…s/validation#…

$form->addText('number')
    ->addRule(Form::MIN > 0);

Toto ti realne niekde funguje?

vladimir.biro
Člen | 163
+
0
-

uestla napsal(a):

@vladimirbiro Sice existuje pravidlo Form::MIN, ale to uzná i danou minimální hodnotu.

Abys nemusel použít vlastní validátor, dalo by se to snadno zkombinovat s ~Form::EQUAL:

$numMessage = 'Zadejte prosím kladné číslo.';

$form->addText('num')
	->addRule(Form::FLOAT, $numMessage)
	->addRule(~Form::EQUAL, $numMessage, 0)
	->addRule(Form::MIN, $numMessage, 0);

A jo vlastne … s tou vlnovkou me to nenapadlo .. dekuju!

vladimir.biro
Člen | 163
+
+3
-

uestla napsal(a):

@vladimirbiro Sice existuje pravidlo Form::MIN, ale to uzná i danou minimální hodnotu.

Abys nemusel použít vlastní validátor, dalo by se to snadno zkombinovat s ~Form::EQUAL:

$numMessage = 'Zadejte prosím kladné číslo.';

$form->addText('num')
	->addRule(Form::FLOAT, $numMessage)
	->addRule(~Form::EQUAL, $numMessage, 0)
	->addRule(Form::MIN, $numMessage, 0);

Malinko by som to upravil. ~Form::EQUAL je deprecated a spravne po novom ma byt Form::NOT_EQUAL. Cize

->addRule(Form::NOT_EQUAL, $numMessage, 0)