*/ if (@(!(include __DIR__ . '/../vendor/autoload.php'))) { die('Install packages using `composer install`'); } use Nette\Forms\Form; use Tracy\Debugger; use Tracy\Dumper; use Nette\Utils\Html; Debugger::enable(); $form = new Form(); // group Personal data $form->addGroup('Personal data')->setOption('description', 'We value your privacy and we ensure that the information you give to us will not be shared to other entities.'); $form->addText('name', 'Your name:')->setRequired('Enter your name'); $form->addText('age', 'Your age:')->setRequired('Enter your age')->addRule($form::INTEGER, 'Age must be numeric value')->addRule($form::RANGE, 'Age must be in range from %d to %d', array(10, 100)); $form->addRadioList('gender', 'Your gender:', array('m' => 'male', 'f' => 'female')); $form->addCheckboxList('colors', 'Favorite colors:', array('r' => 'red', 'g' => 'green', 'b' => 'blue')); $form->addText('email', 'Email:')->setEmptyValue('@')->addCondition($form::FILLED)->addRule($form::EMAIL, 'Incorrect email address'); // ... then check email // group Shipping address $form->addGroup('Shipping address')->setOption('embedNext', TRUE); $form->addCheckbox('send', 'Ship to address')->addCondition($form::FILLED)->toggle('sendBox'); // toggle div #sendBox // subgroup $form->addGroup()->setOption('container', Html::el('div')->id('sendBox')); $form->addText('street', 'Street:'); $form->addText('city', 'City:')->addConditionOn($form['send'], $form::FILLED)->setRequired('Enter your shipping address'); $countries = array('World' => array('bu' => 'Buranda', 'qu' => 'Qumran', 'st' => 'Saint Georges Island'), '?' => 'other'); $form->addSelect('country', 'Country:', $countries)->setPrompt('Select your country')->addConditionOn($form['send'], $form::FILLED)->setRequired('Select your country'); // group Your account $form->addGroup('Your account'); $form->addPassword('password', 'Choose password:'******'Choose your password')->addRule($form::MIN_LENGTH, 'The password is too short: it must be at least %d characters', 3);
/** * Nette Forms & Bootstap 3 rendering example. */ if (@(!(include __DIR__ . '/../vendor/autoload.php'))) { die('Install packages using `composer install`'); } use Nette\Forms\Form; use Tracy\Debugger; use Tracy\Dumper; Debugger::enable(); $form = new Form(); $form->addGroup('Personal data'); $form->addText('name', 'Your name')->setRequired('Enter your name'); $form->addRadioList('gender', 'Your gender', ['male', 'female']); $form->addCheckboxList('colors', 'Favorite colors:', ['red', 'green', 'blue']); $form->addSelect('country', 'Country', ['Buranda', 'Qumran', 'Saint Georges Island']); $form->addCheckbox('send', 'Ship to address'); $form->addGroup('Your account'); $form->addPassword('password', 'Choose password'); $form->addUpload('avatar', 'Picture'); $form->addTextArea('note', 'Comment'); $form->addGroup(); $form->addSubmit('submit', 'Send'); $form->addSubmit('cancel', 'Cancel'); if ($form->isSuccess()) { echo '<h2>Form was submitted and successfully validated</h2>'; Dumper::dump($form->getValues()); exit; } // setup form rendering