示例#1
0
 /**
  * @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');
 }
示例#2
0
 /**
  * @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');
 }
示例#3
0
 /**
  * @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.
 }
示例#4
0
 /**
  * @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');
 }
示例#5
0
 /**
  * @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
         }
     }
 }
示例#6
0
 /**
  * @return $this
  */
 public function addSubmit()
 {
     return $this->buildable->addButton('submit')->ignoreValue()->setType(ButtonType::SUBMIT);
 }
示例#7
0
 /**
  * @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');
 }
示例#8
0
 /**
  * @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);
 }