->addRule(Form::RANGE, ‚Další číslo musí být v rozsahu od %d do %d .‘,

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

Ahoj, mám tuhle továrničku:

<?php
public function createComponentEditNumberedSeriesForm()
        {
            $form = new AppForm();
            $form->addText('insurance_identificator', 'Identifikátor pojišťovny*:')
                 ->addRule(Form::FILLED, 'Identifikátor musí nést název pojišťovny');
            $form->addText('range_from', 'Rozsah od*:')
                 ->addRule(Form::FILLED, 'Uveďte prosím rozsah číselné řady \"OD\".')
                 ->addRule(Form::NUMERIC, 'Číselný rozsah může být pouze numerický.');
            $form->addText('range_to', 'Rozsah do*:')
                  ->addRule(Form::FILLED, 'Uveďte prosím číselný rozsah číselné řady \"DO\".')
                  ->addRule(Form::NUMERIC, 'Číselný rozsah může být pouze numerický.');
            $form->addText('in_order', 'Další použitelné číslo*:')
                 ->addRule(Form::FILLED, 'Musí být uvedeno další číslo, které se má použít.')
                 ->addRule(Form::NUMERIC, 'Údaj o další číslu musí být numerický')
                 ->addRule(Form::RANGE, 'Další číslo musí být v rozsahu od %d do %d .',
                         array($form['range_from'],$form['range_to']));
            $form->addHidden('id_item');
            $form->addSubmit('cancel', 'Ukončit editor')
                 ->setValidationScope(FALSE);
            $form->addSubmit('send', 'Uložit změny');
            $form->onSubmit[] = callback($this, 'processSaveChangesCategory');

            $form->setDefaults($this->nsModel->LoadNumSeriesId($this->getRequest['id_item']));

            return $form;
        }
?>

a jde mi o ten ciselny rozsah v:

<?php
$form->addText('in_order', 'Další použitelné číslo*:')
                 ->addRule(Form::FILLED, 'Musí být uvedeno další číslo, které se má použít.')
                 ->addRule(Form::NUMERIC, 'Údaj o další číslu musí být numerický')
                 ->addRule(Form::RANGE, 'Další číslo musí být v rozsahu od %d do %d .',
                         array($form['range_from'],$form['range_to']));
?>

pomocí setDefaults nabouchám data do formuláře a do inputu ‚in_order‘ dám číslo mimo rozsah, než je v imputech range_from a range_to a dám odeslat, vyskočí mi hláška:

Další číslo musí být v rozsahu od 1 do 1 .

Což je blbost - hodnoty od 1 a do 1 měly nést obsah inputů range_from a range_to.

Netušíte kde je zakopaný pes? Díky :-)
Mikulas Dite
Člen | 756
+
0
-

Dal bych tam minimálně getValue(), ale nebude to fungovat dynamicky, jestli vůbec.