PHP code example of project-melody / validator
1. Go to this page and download the library: Download project-melody/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/ */
project-melody / validator example snippets
use Melody\Validation\Validator as v;
$password = "pass@2012";
v::length(6, 12) // Length between 6 and 12 characters
->containsSpecial(1) // at least 1 special character
->containsLetter(3) // at least 3 letters
->containsDigit(2) // at least 2 digits
->validate($password); // true
$email = "[email protected] ";
$emailValidator = v::email();
$emailValidator->validate($email); //true
$violations = $emailValidator->getViolations(); //List all violation messages
$username = "[email protected] ";
$validEmail = v::email();
//Reusing $validEmail constraint
$validUsername = $validEmail->add(v::maxLength(15)->minLength(5));
$validUsername->validate($username);//true
$alnumValidator = v::alnum();
$alnumValidator->validate("valid"); //true
$alnumValidator->validate("#invalid"); //false
$booleanValidator = v::boolean();
$booleanValidator->validate(true); //true
$booleanValidator->validate(false); //true
$booleanValidator->validate("not a boolean"); //false
$containsDigitValidator = v::containsDigit(3); // Minimum 3 digits
$containsDigitValidator->validate(123); //true
$containsDigitValidator->validate("12a"); //false
$containsLetterValidator = v::containsLetter(1); // Minimum 1 letter
$containsLetterValidator->validate("123a"); //true
$containsLetterValidator->validate("1234"); //false
$containsSpecialValidator = v::containsSpecial(1); // Minimum 1 special character
$containsSpecialValidator->validate("123@"); //true
$containsSpecialValidator->validate("1234"); //false
$emailValidator = v::email();
$emailValidator->validate("[email protected] "); //true
$emailValidator->validate("invalid#@email.com"); //false
$intValidator = v::int();
$intValidator->validate(1234); //true
$intValidator->validate("@"); //false
$isArrayValidator = v::isArray();
$isArrayValidator->validate(array()); //true
$isArrayValidator->validate(new \ArrayObject()); //true
$isArrayValidator->validate("not a array"); //false
$keyExistsValidator = v::keyExists("name");
$keyExistsValidator->validate(array("name" => "John Doe")); //true
$keyExistsValidator->validate(array("age" => 25)); //false
$keyExistsValidator->validate(array()); //false
$lengthValidator = v::length(5, 10);
$lengthValidator->validate("Valid"); //true
$lengthValidator->validate("Invalid string"); //false
$maxValidator = v::max(10);
$maxValidator->validate(10); //true
$maxValidator->validate(11); //false
$minValidator = v::min(10);
$minValidator->validate(10); //true
$minValidator->validate(9); //false
$maxLengthValidator = v::maxLength(8);
$maxLengthValidator->validate("12345678"); //true
$maxLengthValidator->validate("123456789"); //false
$minLengthValidator = v::minLength(9);
$minLengthValidator->validate("123456789"); //true
$minLengthValidator->validate("12345678"); //false
$notEmptyValidator = v::notEmpty();
$notEmptyValidator->validate(" "); //false
$notEmptyValidator->validate(null); //false
$notEmptyValidator->validate(new \stdClass); //true
$notEmptyValidator->validate("a "); //true
$noWhitespaceValidator = v::noWhitespace();
$noWhitespaceValidator->validate("validstring"); //true
$noWhitespaceValidator->validate("invalid string"); //false
$numberValidator = v::number();
$numberValidator->validate(1234); //true
$numberValidator->validate("not numeric"); //false
$rangeValidator = v::range(5, 10);
$rangeValidator->validate(7); //true
$rangeValidator->validate(4); //false
$stringValidator = v::string();
$stringValidator->validate("a generic string"); //true
$stringValidator->validate(1234); //false
use Melody\Validation\Validator as v;
use Melody\Validation\ValidationGroups\ValidationGroupsFactory;
$input['name'] = "Marcelo Santos";
$input['email'] = "[email protected] ";
$input['username'] = "marcelsud";
$input['password'] = "pass@2013";
use Melody\Validation\ValidationGroups\Parser\ArrayParser;
$config['registering'] = array(
'name' => v::maxLength(50),
'email' => v::email()->maxLength(50),
'username' => v::length(6, 12)->alnum()->noWhitespace(),
'password' => v::length(6, 12)->containsSpecial(1)->containsLetter(3)->containsDigit(2)->noWhitespace()
);
$validationGroups = ValidationGroupsFactory::build(new ArrayParser($config));
$validationGroups->validate($input, "registering"); // true
use Melody\Validation\ValidationGroups\Parser\YamlParser;
$validationGroups = ValidationGroupsFactory::build(new YamlParser("/path/to/validation.yml"));
$validationGroups->validate($input, "registering"); // true
// /path/to/validation.php
use Melody\Validation\Validator as v;
$config['registering'] = array(
'name' => v::maxLength(50),
'email' => v::email()->maxLength(50),
'username' => v::length(6, 12)->alnum()->noWhitespace(),
'password' => v::length(6, 12)->containsSpecial(1)->containsLetter(3)->containsDigit(2)->noWhitespace()
);
return $config;
use Melody\Validation\ValidationGroups\Parser\PHPParser;
$validationGroups = ValidationGroupsFactory::build(new PHPParser("/path/to/validation.php"));
$validationGroups->validate($input, "registering"); // true
use Melody\Validation\Common\Collections\ConstraintsCollection;
use Melody\Validation\ValidationGroups\ValidationGroups;
$constraintsCollection = new ConstraintsCollection();
$constraintsCollection->set('name', v::maxLength(50));
$constraintsCollection->set('email', v::email()->maxLength(50));
$validationGroups = new ValidationGroups();
$validationGroups->add("updating", $constraintsCollection);
$validationGroups->validate($input, "updating"); // true
$validationGroups->has("updating"); // true
$validationGroups->remove("updating");
$validationGroups->has("registering"); // false
$config['registering']['email'] = v::email()->maxLength(50);
$validationGroups = ValidationGroupsFactory::build(new ArrayParser($config));
$input['email'] = "email @gmail.com";
$validationGroups->validate($input, "registering", array(
'email' => "'{{input}}' must be a valid email!"
));
$errors = $validationGroups->getViolations(); // Lists all the violation messages
var_dump($errors['email']); // string(45) "'email @gmail.com' must be a valid email!"