pop-validator¶
The popphp/pop-validator component provides a basic API to process simple validation of values.
Installation¶
Install it directly into your project:
composer require popphp/pop-validator
Or, include it in your composer.json file:
{
"require": {
"popphp/pop-validator": "^3.0.2",
}
}
Basic Use¶
Here’s a list of the available built-in validators:
| Built-in Validators | ||
|---|---|---|
| AlphaNumeric | Ipv4 | LessThanEqual |
| Alpha | Ipv6 | LessThan |
| BetweenInclude | IsSubnetOf | NotContains |
| Between | LengthBetweenInclude | NotEmpty |
| Contains | LengthBetween | NotEqual |
| CreditCard | LengthGte | Numeric |
| LengthGt | RegEx | |
| Equal | LengthLte | Subnet |
| GreaterThanEqual | LengthLt | Url |
| GreaterThan | Length | |
Here’s an example testing an email value
$validator = new Pop\Validator\Email();
// Returns false
if ($validator->evaluate('bad-email-address')) {
// Prints out the default message 'The value must be a valid email format.'
echo $validator->getMessage();
}
// Returns true
if ($validator->evaluate('good@email.com')) {
// Do something with a valid email address.
}
Validate Specific Values¶
$validator = new Pop\Validator\LessThan(10);
if ($validator->evaluate(8)) { } // Returns true
Set a Custom Message¶
$validator = new Pop\Validator\RegEx(
'/^.*\.(jpg|jpeg|png|gif)$/i',
'You must only submit JPG, PNG or GIF images.'
);
// Returns false
if ($validator->evaluate('image.bad')) {
echo $validator->getMessage();
}
Alternatively:
$validator = new Pop\Validator\RegEx('/^.*\.(jpg|jpeg|png|gif)$/i');
$validator->setMessage('You must only submit JPG, PNG or GIF images.');
if ($validator->evaluate('image.jpg')) { } // Returns true