mini\validator() Function

Documentation

Get or create a Validator instance

With no arguments: Returns a new Validator for building validation rules. With class name: Returns the core validator (auto-built from class attributes). With class name + purpose: Returns the purpose-specific validator.

Examples

// New validator for building rules
$v = validator()->type('string')->minLength(5);

// Core validator (auto-built from class attributes)
$v = validator(User::class);

// Purpose-specific validators
$v = validator(User::class, Purpose::Create);
$v = validator(User::class, Purpose::Update);

// Custom purpose (string)
$v = validator(User::class, 'password-reset');

Validation Flow

Purpose validation is done in the application layer:

// In controller/service
if ($error = validator(User::class, Purpose::Create)->isInvalid($user)) {
    throw new ValidationException($error);
}

Core validation is done in the repository layer:

// In repository
if ($error = validator(User::class)->isInvalid($user)) {
    throw new ValidationException($error);
}

Signature

function validator(?string $classOrName = NULL, mini\Validator\Purpose|string|null $purpose = NULL): mini\Validator\Validator

Parameters

Name Type Default Description
$classOrName ?string NULL Documentation missing
$purpose mini\Validator\Purpose|string|null NULL Documentation missing

Returns

mini\Validator\Validator

Source

src/Validator/functions.php:62-88