/** * @param BuildableInterface $form */ public function buildForm(BuildableInterface $form) { $form->addFieldset('fsPersonalia')->addField('fldName')->addInput('firstname')->setValue('tap')->next()->addInput('lastname')->ifCondition(Condition::FIELD_VALUE, 'firstname', Validator::MAX_LENGTH, 3)->setRequired()->setHtmlAttribute('style', 'background-color:black;color:white;')->endCondition()->ifCondition(Condition::CALLBACK, function () { return true; })->setValue('lalala')->endCondition()->nextParent()->useField('fldEmail')->next()->useField('fldHobbies')->next()->addButton('submit')->ignoreValue(); $form->addFieldset('testCondition')->ifCondition(Condition::FIELD_VALUE, 'firstname', Validator::ENDS_WITH, 'test')->orCondition(Condition::FALSE)->orCondition(Condition::FALSE)->addInput('sow1')->setValue('sow!')->next()->elseCondition()->addInput('sowElse')->setValue('sowElse')->next()->endCondition()->addInput('sow2')->setValue('sow2')->ifCondition(Condition::COMPONENT_PROPERTY, 'firstname', 'isRequired')->orCondition(Condition::FALSE)->setHtmlAttribute('style', 'background-color:red;'); $form->addFieldset('fsDates')->addRow('dates')->addAggregator('birthday')->setBuilder(Builder::DATE_TIME_SELECT)->setAggregationType(Aggregation::DATE_TIME_SELECT)->setConverter(Converter::TIMESTAMP_TO_STRING)->nextParent()->addRow('newRow')->addInput('date')->setConverter(Converter::TIMESTAMP_TO_STRING); //$form->addCheckbox('checkit'); //->applyConditions(); /* $form->addContent('testCallback')->setContentCallback(function(FormState $state,Content $content) { $hobbies = $content->getParent() ->getContainer('fsPersonalia') ->getContainer('fldHobbies') ->getContainer('hobbies'); return $state->getValue('/hobbies',$hobbies); }); */ if ($form instanceof DescribableInterface) { //print_rf($form->describe()); } //$form->getFieldset('fsPersonalia')->removeComponent('submit'); //$form->useContent('testCallbackContent'); }
/** * @param BuildableInterface $form */ public function buildForm(BuildableInterface $form) { $form->addFieldset('fsTest')->useField('fldName')->next()->addField('fldBirthday')->addInput('dateOfBirth')->ifCondition(Condition::FIELD_VALUE, 'firstname', Validator::STARTS_WITH, 'mi')->setHtmlAttribute('style', 'background-color:red')->elseCondition()->setHtmlAttribute('style', 'background-color:green')->endCondition()->addFilter(Filter::LOWERCASE)->next()->addInput('lala')->addValidator(function ($value, array $args = array()) { //throw new ValidatorException('myType',array('lala'=>'test')); })->addFilter(function ($value, array $args = array()) { throw new FilterException('myType', array('test' => $value)); })->nextParent()->addButton('submit'); //print_rf($form->getFieldset('fsTest')->getField('fldName')); //print_rf($form->describe()); // TODO: Implement buildForm() method. }
/** * @param string $name * @return Container */ public function startFieldset($name) { $this->currentFieldset = $this->buildable->addFieldset($name); return $this->currentFieldset; }