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.