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.2.1"
}
}
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