📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Zend Framework / Laminas Laminas Validator

Laminas Validator

5 min read Quiz at the end
Validate and sanitize input with Laminas InputFilter, validators, and filter chain.

Input Validation

use LaminasValidator;
use LaminasInputFilterInputFilter;
use LaminasInputFilterInput;
use LaminasFilterStringTrim;

// Input filter
$filter = new InputFilter();

$name = new Input("name");
$name->getFilterChain()->attachByName("StringTrim")->attachByName("StripTags");
$name->getValidatorChain()->attach(new ValidatorNotEmpty())
                           ->attach(new ValidatorStringLength(["min"=>2,"max"=>100]));

$email = new Input("email");
$email->getValidatorChain()->attach(new ValidatorNotEmpty())->attach(new ValidatorEmailAddress());

$filter->add($name)->add($email);

$filter->setData($_POST);
if ($filter->isValid()) {
    $cleanData = $filter->getValues();  // filtered and safe data
} else {
    $messages = $filter->getMessages(); // validation errors
}

// Standalone validators
(new ValidatorEmailAddress())->isValid("alice@example.com");   // true
(new ValidatorRegex(["pattern"=>"/^d{4}$/"]))->isValid("1234"); // true
(new ValidatorBetween(["min"=>1,"max"=>100]))->isValid(50);    // true
Topic Quiz · 1 questions

Test your understanding before moving on

1. What does the InputFilter return after validation?
💡 getValues() returns all filtered and validated field values as an array.