protected function validator() : Validator
    {
        if (isset($this->validator)) {
            return $this->validator;
        }

        return $this->validator = $this->laravel['validator']->make(
            $this->getDataToValidate(),
            $this->rules(),
            $this->messages(),
            $this->attributes()
        );
    }