protected function ensureAllInRules(array $data)
    {
        $rules = $this->rules();

        $invalid = array_diff_key($data, $rules);

        if (!empty($invalid)) {
            throw new ValidationFailed(new MessageBag([
                'Invalid keys found in request.',
            ]));
        }

        return $this;
    }