Nette\Forms\Form::fireEvents PHP Method

fireEvents() public method

Fires submit/click events.
public fireEvents ( ) : void
return void
    public function fireEvents()
    {
        if (!$this->isSubmitted()) {
            return;
        } elseif (!$this->getErrors()) {
            $this->validate();
        }
        if ($this->submittedBy instanceof ISubmitterControl) {
            if ($this->isValid()) {
                $this->submittedBy->onClick($this->submittedBy);
            } else {
                $this->submittedBy->onInvalidClick($this->submittedBy);
            }
        }
        if (!$this->isValid()) {
            $this->onError($this);
        } elseif ($this->onSuccess !== NULL) {
            if (!is_array($this->onSuccess) && !$this->onSuccess instanceof \Traversable) {
                throw new Nette\UnexpectedValueException('Property Form::$onSuccess must be array or Traversable, ' . gettype($this->onSuccess) . ' given.');
            }
            foreach ($this->onSuccess as $handler) {
                $params = Nette\Utils\Callback::toReflection($handler)->getParameters();
                $values = isset($params[1]) ? $this->getValues($params[1]->isArray()) : NULL;
                Nette\Utils\Callback::invoke($handler, $this, $values);
                if (!$this->isValid()) {
                    $this->onError($this);
                    break;
                }
            }
        }
        $this->onSubmit($this);
    }