1. Go to this page and download the library: Download popphp/pop-validator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
popphp / pop-validator example snippets
$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('[email protected]')) {
// Do something with a valid email address.
}
$validator = new Pop\Validator\LessThan(10);
if ($validator->evaluate(8)) { } // Returns true
$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();
}
$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
// All patterns must match
$validator = new Pop\Validator\RegEx(['/[A-Z]/', '/[0-9]/']);
$validator->evaluate('Password1'); // Returns true - contains an uppercase letter and a digit
$validator->evaluate('password1'); // Returns false - missing the uppercase letter
// At least 1 of the 2 patterns must match
$validator = new Pop\Validator\RegEx(['/[A-Z]/', '/[0-9]/'], null, 1);
$validator->evaluate('password'); // Returns false - matches neither pattern
$validator->evaluate('Password'); // Returns true - matches the uppercase pattern
$validator = new Pop\Validator\HasOne('users');
$data = [
'users' => [
['username' => 'john_doe'],
],
];
$validator->evaluate($data); // Returns true - 'users' exists and has at least one item
$validator = new Pop\Validator\HasOneThatEquals(['website_data.users.username' => 'john_doe']);
$data = [
'website_data' => [
'users' => [
['username' => 'john_doe'],
['username' => 'jane_doe'],
],
],
];
$validator->evaluate($data); // Returns true - at least one 'username' under website_data.users equals 'john_doe'
use Pop\Validator\ValidatorSet;
$set = new ValidatorSet();
$set->addValidators(['username' => 'AlphaNumeric']);
if ($set->evaluate(['username' => 'username_123'])) {
echo 'The username satisfies the
use Pop\Validator\ValidatorSet;
$set = new ValidatorSet();
$set->addValidators(['username' => ['AlphaNumeric' => null, 'LengthGreaterThanEqual' => 8]]);
if ($set->evaluate(['username' => 'username_123'])) {
echo 'The username satisfies the
use Pop\Validator\ValidatorSet;
$set = new ValidatorSet();
$set->addValidators([
'username' => [
'AlphaNumeric' => [
'value' => null,
'message' => 'The username can only contain alphanumeric characters.'
],
'LengthGreaterThanEqual' => 8
]
]);
if ($set->evaluate(['username' => 'username_123'])) {
echo 'The username satisfies the
use Pop\Validator\ValidatorSet;
$set = ValidatorSet();
$set->addValidators(['username' => ['AlphaNumeric' => null, 'LengthGreaterThanEqual' => 8]]);
$set->setStrict(ValidatorSet::STRICT_NONE);
if ($set->evaluate(['username' => 'someuser_!23'])) {
echo 'The username satisfies the
use Pop\Validator\ValidatorSet;
use Pop\Validator\Condition;
$set = new ValidatorSet();
$set->addCondition(new Condition('client_id', 'Equal', '1'));
$set->addValidator('documents', 'NotEmpty');
$data = [
'client_id' => 1,
'documents' => [
'some_file_1.pdf',
'some_file_2.pdf',
]
];
if ($set->evaluate($data)) {
echo 'The client order data satisfies the
$set = Pop\Validator\ValidatorSet::createFromRules([
'username:alpha_numeric',
'username:length_gte:8'
]);
if ($set->evaluate(['username' => 'someuser_123'])) {
echo 'The username satisfies the
use Pop\Validator\ValidatorSet;
$set = ValidatorSet::createFromRules('documents:not_empty')
->addConditionFromRule('client_id:equal:1');
$data = [
'client_id' => 1,
'documents' => [
'some_file_1.pdf',
'some_file_2.pdf',
]
];
if ($set->evaluate($data)) {
echo 'The client order data satisfies the
$set = Pop\Validator\ValidatorSet::createFromRules([
'username:length_gt:8:The username must be greater than 8 characters.'
]);
use Pop\Validator\ValidatorSet;
$set = ValidatorSet::createFromRules('value_1:equal:[value_2]');
$data = [
'value_1' => 'test',
'value_2' => 'test'
];
if ($set->evaluate($data)) {
echo 'The data satisfies the