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