NAME

Trickster::Validator - Data validation for Trickster

SYNOPSIS

use Trickster::Validator;

my $validator = Trickster::Validator->new({
    name => ['required', ['min', 3], ['max', 50]],
    email => ['required', 'email'],
    age => ['numeric', ['min', 18]],
    role => [['in', 'admin', 'user', 'guest']],
});

if ($validator->validate($data)) {
    # Data is valid
} else {
    my $errors = $validator->errors;
}

DESCRIPTION

Trickster::Validator provides robust data validation with common validation rules and custom validators.

VALIDATION RULES

  • required - Field must be present and non-empty

  • min - Minimum value or length

  • max - Maximum value or length

  • email - Valid email format

  • regex - Match a regular expression

  • in - Value must be in a list

  • numeric - Must be a number

  • integer - Must be an integer

  • url - Valid URL format

  • custom - Custom validation function