protected function validateAgainstRule($field, $value, $rule, array $args)
    {
        $ruleToCall = $this->getRuleToCall($rule);

        $passed = call_user_func_array($ruleToCall, [
            $value,
            $this->input,
            $args
        ]);

        if (!$passed) {
            // If the rule didn't pass the validation, we will handle the error,
            // and we check if we need to skip the next rules.
            $this->handleError($field, $value, $rule, $args);

            return $this->canSkipRule($ruleToCall, $value);
        }

        return true;
    }