示例#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->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.
 }
示例#3
0
 /**
  * @param string $name
  * @return Container
  */
 public function startFieldset($name)
 {
     $this->currentFieldset = $this->buildable->addFieldset($name);
     return $this->currentFieldset;
 }