/** * Validate the claim in a given context. * * @param ValidationContext $ctx * @return bool True if claim is valid */ public function validateWithContext(ValidationContext $ctx) { // if validator has no constraint for the claim if (!$ctx->hasConstraint($this->_name)) { return true; } $constraint = $ctx->constraint($this->_name); // if validation context has an explicitly // defined validator for the claim if ($ctx->hasValidator($this->_name)) { return $ctx->validator($this->_name)->validate($this->_value, $constraint); } // validate using claim's default validator return $this->validate($ctx->constraint($this->_name)); }