Autor Zpráva
leonek
Profil
Dobrý den, rád bych se zeptal jestli nejde nějka nastavit (třeba JavaScriptem) minimální hodnotu (value) inputu ve formuláři.
Taps
Profil
leonek:
http://diskuse.jakpsatweb.cz/?action=vthread&forum=4&topic=97759
jinak doporučuji jquery validation plugin
leonek
Profil
Nemumím JS a potřebuji kontrolovat hodnotu ne délku.
_es
Profil
leonek:
Nemumím JS a potřebuji kontrolovat hodnotu ne délku.
Tak sa nauč vyjadrovať dostatočne jednoznačne.
V rôznych input políčkach sú hodnoty: "5", "-15", "0.8", "abcd", "αβγδε", "-5e2", "2e-20" .
Ktorá z tých hodnôt je z nich minimálna?
Stano
Profil
leonek:
ak ti to stačí ošetriť len v php tak
$value = max("tvoja_minimalna_hodnota", $_POST["value"]);
leonek
Profil
Stano
Děkuji, snad to bude stačit.
leonek
Profil
Tak jsem to vyřešil jinak. Zkombinoval jsem funkci max a řešení nečíselného typu z manuálu.

$output = floatval(ereg_replace("[^0-9]","",htmlspecialchars($_POST["input"])));
$output_2 = max("50", $output);


Ještě jednou děkuji Stano
Keeehi
Profil
floatval a htmlspecialchars jsou v tomto případě zbytečně použité.
Stano
Profil
leonek: by som to trocha zmenil
$output = preg_replace("[^0-9.]","",str_replace(",",".",$_POST["input"]));
$output_2 = max(50, $output);

//htmlspecialchars() je podla mňa zbytočná keďže stade aj tak odstrániš všetky nečíselné znaky
//str_replace() - keby tam niekto dal desatine miesto ale s čiarkou
//[^0-9.] doplniť bodku lebo ak tam niekto dá 20.5 tak ti z toho vznikne 205
//floatval() - tak tomu nerozumiem prečo tam je
//ak tam nechceš desatine miesta tak round(), ceil(), floor()

edit: opravené podľa Keeehi nižšie, dik nad tým som nedumal.
Keeehi
Profil
Stano:
Zapomněl jsi ještě nahradit ereg_replace za preg_replace. Další věcí je,proč tu 50 pořád to té funkce max píšete jako řetězec?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: