You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PhpCliProgram/src/CliProgram/Validation/Validators/BasedValidator.php

39 lines
918 B
PHP

<?php
namespace jrosset\CliProgram\Validation\Validators;
/**
* An argument/option value validator based on another, internal, validator
*
* @template TValidator of IValidator
*/
abstract class BasedValidator implements IValidator {
/**
* @var TValidator The internal validator
*/
private $internalValidator;
/**
* Create a validator
*
* @param TValidator $internalValidator The internal validator
*/
public function __construct ($internalValidator) {
$this->internalValidator = $internalValidator;
}
/**
* The internal validator
*
* @return TValidator The internal validator
*/
protected function getInternalValidator () {
return $this->internalValidator;
}
/**
* @inheritDoc
*/
public function validate (mixed $value): bool {
return $this->internalValidator->validate($value);
}
}