Xtreamwayz\HTMLFormValidator\FormFactory::validate PHP Method

validate() public method

public validate ( array $data, $method = null )
$data array
    public function validate(array $data, $method = null)
    {
        if ($method !== null && $method !== 'POST') {
            // Not a post request, skip validation
            return new ValidationResult([], [], [], $method);
        }
        $inputFilter = $this->factory->createInputFilter([]);
        // Add all validators and filters to the InputFilter
        $this->buildInputFilterFromForm($inputFilter);
        $inputFilter->setData($data);
        $messages = [];
        // Do some validation
        if (!$inputFilter->isValid()) {
            foreach ($inputFilter->getInvalidInput() as $message) {
                $messages[$message->getName()] = $message->getMessages();
            }
        }
        // Get the submit button
        $submitName = null;
        foreach ($this->getSubmitStateNodeList() as $name) {
            if (array_key_exists($name, $data)) {
                $submitName = $name;
            }
        }
        // Return validation result
        return new ValidationResult($inputFilter->getRawValues(), $inputFilter->getValues(), $messages, $method, $submitName);
    }