- sprintf: documentation ( source)
<?php
class MinLengthValidator implements ValidatorRuleInterface
{
private string $format = 'Это поле содержит %d символов. Минимальное количество символов для этого поля - %u';
private int $standard;
public function __construct (int $standard)
{
$this->standard = $standard;
}
public function __invoke(mixed $value): ?ValidationError
{
$numberOfCharacters = iconv_strlen($value);
if ($numberOfCharacters < $this->standard) {
return new ValidationError(sprintf($this->format, $numberOfCharacters, $this->standard));
} else {
return null;
}
}
}