Xtreamwayz\HTMLFormValidator\FormFactory::setData PHP Method

setData() private method

Set values and element checked and selected states
private setData ( array $data, boolean $force = false )
$data array
$force boolean
    private function setData(array $data, $force = false)
    {
        foreach ($this->getNodeList() as $name => $node) {
            if (!array_key_exists($name, $data)) {
                // No value set for this element
                continue;
            }
            $value = $data[$name];
            $reuseSubmittedValue = filter_var($node->getAttribute('data-reuse-submitted-value'), FILTER_VALIDATE_BOOLEAN);
            if (!$reuseSubmittedValue && $force === false) {
                // Don't need to set the value
                continue;
            }
            if (in_array($node->getAttribute('type'), ['checkbox', 'radio'], true)) {
                if ($value === $node->getAttribute('value')) {
                    $node->setAttribute('checked', 'checked');
                } else {
                    $node->removeAttribute('checked');
                }
            } elseif ($node->nodeName === 'select') {
                /** @var DOMElement $option */
                foreach ($node->getElementsByTagName('option') as $option) {
                    if ($value === $option->getAttribute('value')) {
                        $option->setAttribute('selected', 'selected');
                    } else {
                        $option->removeAttribute('selected');
                    }
                }
            } elseif ($node->nodeName === 'input') {
                // Set value for input elements
                $node->setAttribute('value', $value);
            } elseif ($node->nodeName === 'textarea') {
                $node->nodeValue = $value;
            }
        }
    }