public function challenge($subject, $ruleSet) : bool
    {
        // Re-uses instance on ValidateAgainstRuleSet rules.
        // Since we pass this object to the ValidateAgainstRuleSet instance,
        // we shan't refer the ValidateAgainstRuleSet instance directly.
        return ValidateAgainstRuleSet::getInstance(
            $this
        )->challenge($subject, $ruleSet);
    }
public function challenge($subject, $ruleSet) : bool
    {
        // Re-uses instance on ValidateAgainstRuleSet rules.
        // Since we pass this object to the ValidateAgainstRuleSet instance,
        // we shan't refer the ValidateAgainstRuleSet instance directly.
        return ValidateAgainstRuleSet::getInstance(
            $this
        )->challenge($subject, $ruleSet);
    }
public function challenge ( $ subject , $ ruleSet ) : bool { // Re-uses instance on ValidateAgainstRuleSet rules. // Since we pass this object to the ValidateAgainstRuleSet instance, // we shan't refer the ValidateAgainstRuleSet instance directly. return ValidateAgainstRuleSet :: getInstance ( $ this ) -> challenge ( $ subject , $ ruleSet ) ; }
Validate by a list of rules.

Reuses the same ValidateAgainstRuleSet across Validate instances
and calls to this method.

@param mixed $subject
@param ValidationRuleSet|array|object $ruleSet

@return bool

@throws \Throwable
Propagated.
Validate by a list of rules .