/** * Process to the default render of the given element. The element must implement Drawable * @param Element $element * @param array $options * @return mixed * @throws \UForm\Exception */ public function elementDefaultRender(Element $element, $options = []) { if ($element instanceof Element\Drawable) { $navigator = new Navigator(); $value = $navigator->arrayGet($this->formContext->getData()->getDataCopy(), $element->getName(true, true), 1); return $element->render($value, $options); } else { throw new \UForm\Exception('Trying to render an invalid element. Element not implementing Drawable cant be rendered'); } }
/** * Get the data for an element in the chained validation * @param $element * @return null */ public function getDataFor($element) { $data = $this->data->getDataCopy(); if (!is_array($data)) { return null; } if ($element instanceof Element) { $name = $element->getName(true, true); } else { $name = $element; } $navigator = new Navigator(); return $navigator->arrayGet($data, $name); }