Reusable validation building blocks for Utopia projects.
This package exposes a consistent API for common HTTP-oriented validation concerns such as input sanitisation, URL checks, IP validation, hostname filtering, lists enforcement, and more.
composer require utopia-php/validatorsuse Utopia\Validator\Text;
use Utopia\Validator\Range;
$username = new Text(20, min: 3);
$age = new Range(min: 13, max: 120);
if (! $username->isValid($input['username'])) {
throw new InvalidArgumentException($username->getDescription());
}
if (! $age->isValid($input['age'])) {
throw new InvalidArgumentException($age->getDescription());
}Validators expose a predictable contract:
isValid(mixed $value): bool– core validation rulegetDescription(): string– human readable rule summarygetType(): string– expected PHP type (string, integer, array, ...)isArray(): bool– hint whether the validator expects an array input
For advanced flows combine validators with Multiple, AnyOf, AllOf, NoneOf, or wrap checks with helpers such as Nullable.
AllOf,AnyOf,NoneOf,Multiple– composition helpersArrayList,Assoc,Nullable,WhiteList,WildcardBoolean,Integer,FloatValidator,Numeric,RangeDomain,Host,Hostname,IP,URLHexColor,JSON,Text
Run the static analysis and test suites from the project root:
composer check
composer testThis project is released under the MIT License.