Nextras\Forms\Controls\Fragments\TemplateControlTrait::isControlInvalid PHP 메소드

isControlInvalid() 공개 메소드

Is required to repaint the control or its snippet?
public isControlInvalid ( $snippet = NULL ) : boolean
리턴 boolean
    public function isControlInvalid($snippet = NULL)
    {
        if ($snippet === NULL) {
            if (count($this->invalidSnippets) > 0) {
                return TRUE;
            } else {
                $queue = [$this];
                do {
                    foreach (array_shift($queue)->getComponents() as $component) {
                        if ($component instanceof IRenderable) {
                            if ($component->isControlInvalid()) {
                                // $this->invalidSnippets['__child'] = TRUE; // as cache
                                return TRUE;
                            }
                        } elseif ($component instanceof Nette\ComponentModel\IContainer) {
                            $queue[] = $component;
                        }
                    }
                } while ($queue);
                return FALSE;
            }
        } elseif (isset($this->invalidSnippets[$snippet])) {
            return $this->invalidSnippets[$snippet];
        } else {
            return isset($this->invalidSnippets[""]);
        }
    }