Beispiel #1
0
 /**
  * @param Element $element
  *
  * @return string
  */
 public function getAngularJSValidator(Element $element)
 {
     $name = $element->getAttribute('name');
     $form = $element->closest('form');
     $formName = $form ? $form->getName() : 'form' . ucfirst(substr($name, 0, strpos($name, '[')));
     return $formName . '[\'' . $name . '\'].$error.required';
 }
Beispiel #2
0
 protected function populateElement(Element $element)
 {
     $name = $element->getName();
     if ($name && isset($_POST[$name])) {
         $element->setValue($_POST[$name]);
     }
 }
 /**
  * @param Element $element
  * @param         $args
  *
  * @return bool
  */
 public function validate(Element $element, $args)
 {
     $this->errors = [];
     $this->value = $element->getValue();
     foreach ($this->arrBitwise as $bitwise => $arrBitwise) {
         if ($this->bitwise & $bitwise) {
             if (!$this->{'validate' . $arrBitwise['function']}()) {
                 $this->addMsg($arrBitwise['msg']);
             }
         }
     }
     return !$this->errors;
 }
 /**
  * @param Element $element
  */
 protected function setErrorMessages(Element $element)
 {
     $arrValidators = $element->getValidators();
     foreach ($arrValidators as $validator) {
         if ($message = $validator->getMsg()) {
             $messageHolder = $this->elementFactory->create('Div');
             $messageDiv = $this->elementFactory->create('Div');
             $messageDiv->addChild(str_replace('{field}', $element->getName(), $message));
             $messageDiv->setAttribute('ng-show', $validator->getAngularJSValidator($element));
             $messageHolder->addChild($messageDiv);
             $element->addSibling($messageHolder);
         }
     }
 }
Beispiel #5
0
 /**
  * @param $child
  *
  * @return $this
  */
 public function addChild($child)
 {
     if ($child instanceof Element) {
         $this->fields[] = $child;
     }
     return parent::addChild($child);
 }
Beispiel #6
0
 protected function populateElement(Element $element)
 {
     $name = $element->getName();
     if ($name && $this->record->keyExists($name)) {
         if ($element->getAttribute('type') == 'checkbox') {
             $element->setValue(1);
             if ($this->record->{$name}) {
                 $element->setAttribute('checked', 'checked');
             }
         } elseif ($element->getAttribute('type') == 'password') {
             // do nothing
         } else {
             $element->setValue($this->record->{$name});
         }
     }
 }
Beispiel #7
0
 /**
  * @param $child
  *
  * @return $this
  */
 public function addChild($child)
 {
     if ($child instanceof Fieldset) {
         $this->fieldsets[] = $child;
     }
     if ($child instanceof Form && !$this->isStepped()) {
         $child->setTag('div')->setClass('wrappedForm');
     }
     // add another fieldset for buttons
     if (($child instanceof Submit || $child instanceof Button) && (!$this->fieldsets || !end($this->fieldsets)->hasClass('submit'))) {
         $this->addChild($this->elementFactory->create('Fieldset')->addClass('submit'));
     }
     if ($child instanceof Field && $this->fieldsets) {
         /**
          * Add element to last fieldset.
          */
         end($this->fieldsets)->addChild($child);
         if ($child instanceof Element) {
             $child->transferFromElement($this);
         }
         return $this;
     }
     return parent::addChild($child);
 }
Beispiel #8
0
 /**
  * @param Element $parent
  */
 protected function transferFromElement(Element $parent)
 {
     if (!$parent->getParent()) {
         $this->pushParent($parent);
     }
     $arr = ['Decorator' => 'Decorators', 'Validator' => 'Validators', 'Handler' => 'Handlers'];
     foreach ($arr as $adder => $getter) {
         foreach ($parent->{'get' . $getter}() as $service) {
             if ($service->isRecursive()) {
                 if ($getter == 'Handler') {
                     $this->{'add' . $adder}($service);
                 } else {
                     $this->{'add' . $adder}(clone $service);
                 }
             }
         }
     }
 }
Beispiel #9
0
 /**
  * @param Element $element
  * @param Element $wrapper
  *
  * @return mixed|object
  */
 protected function addHiddenForCheckbox(Element $element, Element $wrapper)
 {
     $hidden = $this->elementFactory->create("Hidden");
     $hidden->setName($element->getName())->setValue(null);
     $wrapper->addChild($hidden);
     return $hidden;
 }
Beispiel #10
0
 /**
  * @param null $value
  *
  * @return $this
  */
 public function setValue($value = null)
 {
     parent::setValue($value);
     $this->setAttribute('value', $value);
     return $this;
 }
Beispiel #11
0
 /**
  *
  */
 public function __construct()
 {
     parent::__construct();
 }