/** * @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->useInput('address'); // ADD TOP SUBMIT BUTTON $form->addButton('submit')->ignoreValue()->next()->useFieldset(Types::FIELDSET_PERSONALIA)->useField(Types::FIELD_NAME)->useInput(Types::INPUT_TEXT)->setRequired()->addCssClass(CssClass::MEDIUM)->next()->useInput(Types::INPUT_EMAIL)->addValidator('doValidate')->addValidator(Validator::REGEX, '/.+/')->addFilter(Filter::UPPERCASE)->addFilter(Filter::LOWERCASE)->addFilter(Filter::TRIM_RIGHT, 'm')->addFilter(Filter::FORCE_TRAILING, '/')->addFilter(Filter::FORCE_LEADING, '/')->nextParent()->useField(Types::FIELD_QUESTION)->showErrors(true)->useTextarea(Types::TEXTAREA_QUESTION)->setRequired()->nextParent()->addFieldset('fsHobbies')->addField('fldTestSelect')->addSelect('testSelect')->setOptions(array($this, 'getOptions'))->nextParent()->addLabel('description')->setContent('bladibla')->nextParent()->addField('fldHobby1')->addInput('hobby1')->setValue('aa')->setEmptyStringIsValue(false)->addValidator(array($this, 'testValidator'))->addFilter(array($this, 'testFilter'))->trimValue(true)->persistent(true)->nextParent()->addField('myField')->addSelect('lalala')->nextParent()->addFieldset('fsBirthday')->addField('fldBirthday')->addAggregator('dateSelect')->setBuilder((new BuilderAggregator())->addBuilder(new DateTimeSelectBuilder()))->setAggregationType(Aggregation::DATE_TIME_SELECT)->nextParent(3)->addFieldset('fsNew')->setOptions(array($this, 'getOptions'))->next()->useFieldset('test1234')->next()->addContainer('myContainer')->next()->addFieldset('fsTestRow')->addRow('testRow')->addInput('testRowInput1')->next()->addInput('testRowInput2')->nextParent()->addRow('testRow2')->addInput('testRowInput3')->next()->addInput('tesstRowInput4')->nextParent(2)->addButton('submit')->onClick(array($this, 'test'))->ignoreValue(); $form->import(new TestCompoment(), 'testComponent'); }
/** * @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 BuildableInterface $container * @param FormState $context * @param array $options */ public function build(BuildableInterface $container, FormState $context, array $options = array()) { $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); $container->addInput('lalala'); }
/** * @param BuildableInterface $container * @param FormState $context * @param array $errors */ public function buildErrors(BuildableInterface $container, FormState $context, array $errors) { foreach ($errors as $index => $e) { if ($e instanceof ComponentException) { $container->addLabel('lblError' . $index, $e->getComponent()->getId())->setFor($e->getComponent())->addCssClass(CssClass::ERROR)->setTranslationKey('error.' . $e->getType(), $e->getParams()); } elseif ($e instanceof FormException) { $container->addLabel('lblError' . $index)->addCssClass(CssClass::ERROR)->setTranslationKey('error.' . $e->getType(), $e->getParams()); } elseif ($e instanceof \Exception) { $container->addLabel('lblError' . $index)->addCssClass(CssClass::ERROR)->setContent($e->getMessage() . get_class($e)); //->setTranslationKey('error.generic') // TODO: check debug mode: if debug, show full exception text, else show generic error } } }
/** * @return $this */ public function addSubmit() { return $this->buildable->addButton('submit')->ignoreValue()->setType(ButtonType::SUBMIT); }
/** * @param BuildableInterface $container * @param FormState $context * @param array $options */ public function build(BuildableInterface $container, FormState $context, array $options = array()) { // create a legend first $container->addHtmlTag('p' . ucfirst($container->getId()), self::POSITION_START)->setTagName('p')->setTranslationKey('{parentId}.description'); $container->addHtmlTag('lgnd' . ucfirst($container->getId()), self::POSITION_START)->setTagName('legend')->setTranslationKey('{parentId}.legend'); }
/** * @param BuildableInterface $container * @param $key * @param $value * @param FormState $state */ protected function addOption(BuildableInterface $container, $key, $value, FormState $state) { $label = $container->addLabel('lbl' . ucfirst($key)); $checkbox = $container->addCheckbox($key); $label->setFor($checkbox); }