freedfelipe / validation
Inspired 'KennedyTedesco Validation' - The power of 'Respect Validation' on Laravel.
1.0.12
2016-01-07 14:22 UTC
Requires
- php: >=5.5.9
- illuminate/support: 5.0.*|5.1.*
- respect/validation: ~0.9
Requires (Dev)
- laravel/framework: 5.1.*
- orchestra/testbench: 3.1.x@dev
- phpunit/phpunit: ~4.0
README
Laravel 5.0 and Laravel 5.1
In the require key of composer.json file add the following:
"freedfelipe/validation": "~1.0"
Important: Do not use dev-master
. Instead, use the tagged version, like shown before.
Run the Composer update comand:
composer update
In your config/app.php add 'FreedFelipe\Validation\ValidationServiceProvider::class' to the end of the 'providers' array:
'providers' => array( ... ... FreedFelipe\Validation\ValidationServiceProvider::class, ),
Supported rules (with examples)
// Rules $rules = array( 'cpf' => 'cpf', 'cpf_mascara' => 'cpf_mascara', 'cnpj' => 'cnpj', 'cnpj_mascara' => 'cnpj_mascara', 'cnpj_cpf' => 'cnpj_cpf', 'cnpj_cpf_mascara' => 'cnpj_cpf_mascara', 'cnpj_cpf_zero' => 'cnpj_cpf_zero', 'cnpj_cpf_zero_mascara' => 'cnpj_cpf_zero_mascara', 'telefone' => 'telefone', 'telefone_mascara' => 'telefone_mascara', 'celular' => 'celular', 'celular_mascara' => 'celular_mascara', 'hora' => 'hora', 'required_if_not' => 'required_if_not', 'cnh' => 'cnh', // Carteira Nacional de Habilitação 'minimum_age' => 'minimumAge:20', 'callback' => 'callback:is_int', 'charset' => 'charset:ASCII', 'consonant' => 'consonant', 'vowel' => 'vowel', 'alnum' => 'alnum:-', 'digit' => 'digit', 'alpha' => 'alpha', 'containsArray' => 'contains:banana', 'contains' => 'contains:banana', 'countryCode' => 'countryCode', 'creditCard' => 'digit|creditCard', 'domain' => 'domain', 'directory' => 'directory', 'FileExists' => 'FileExists', 'isFile' => 'file', 'endsWith' => 'endsWith:banana', 'equals' => 'equals:banana', 'even' => 'even', 'float' => 'float', 'graph' => 'graph', 'instance' => 'instance:DateTime', 'int' => 'int', 'json' => 'json', 'leapDate' => 'leapDate:Y-m-d', 'leapYear' => 'leapYear', 'arr' => 'arr', 'lowercase' => 'lowercase', 'macAddress' => 'macAddress', 'multiple' => 'multiple:3', 'negative' => 'negative', 'noWhitespace' => 'noWhitespace', 'notArray' => 'arr|not', 'nullValue' => 'nullValue', 'numeric' => 'numeric', 'object' => 'object', 'odd' => 'odd', 'perfectSquare' => 'perfectSquare', 'positive' => 'positive', 'primeNumber' => 'primeNumber', 'punct' => 'punct', 'readable' => 'readable', 'regex' => 'regex:/5/', 'roman' => 'roman', 'slug' => 'slug', 'space' => 'space:b', 'tld' => 'tld', // Top Level Domain, //'uploaded' => 'uploaded', 'uppercase' => 'uppercase', 'version' => 'version', 'xdigit' => 'xdigit', // Hexadecimal 'writable' => 'writable', 'alwaysValid' => 'alwaysValid', 'bool' => 'bool' ); // Data $data = array( 'cpf' => '22205417118', 'cpf_mascara' => '222.054.171-18', 'cnpj' => '68518321000116', 'cnpj_mascara' => '68.518.321/0001-16', 'cnpj_cpf' => '22205417118', // ou 68518321000116 'cnpj_cpf_zero' => '22205417118', // ou 68518321000116 ou 00000000000 ou 00000000000000 'cnpj_cpf_zero_mascara' => '222.054.171-18', // ou 68518321000116 ou 00000000000 ou 00000000000000 'telefone' => '3430353637', 'telefone_mascara' => '34 3035-3637', 'celular' => '4191234567', 'celular_mascara' => '41 9123-4567', 'hora' => '18:40', 'condicional' => 'required_if_not,Tipo:5', 'cnh' => '02650306461', 'minimum_age' => '10/10/1990', 'callback' => 20, 'charset' => 'acucar', 'consonant' => 'dcfg', 'vowel' => 'aeiou', 'alnum' => 'banana-123 ', 'digit' => '120129 21212', 'alpha' => 'banana', 'containsArray' => array('www', 'banana', 'jfk', 'http'), 'contains' => 'www banana jfk http', 'countryCode' => 'BR', 'creditCard' => '5555666677778884', 'domain' => 'google.com.br', 'directory' => __DIR__, 'FileExists' => __FILE__, 'file' => __FILE__, 'endsWith' => 'pera banana', 'equals' => 'banana', 'even' => 8, 'float' => 9.8, 'graph' => 'LKM@#$%4;', 'instance' => new Datetime(), 'int' => 9, 'json' => '{"file":"laravel.php"}', 'leapDate' => '1988-02-29', 'leapYear' => '1988', 'arr' => array('Brazil'), 'lowercase' => 'brazil', 'macAddress' => '00:11:22:33:44:55', 'multiple' => '9', 'negative' => '-10', 'noWhitespace' => 'laravelBrazil', 'nullValue' => null, 'numeric' => '179.9', 'object' => new stdClass(), 'odd' => 3, 'perfectSquare' => 25, 'positive' => 1, 'primeNumber' => 7, 'punct' => '&,.;[]', 'readable' => __FILE__, 'regex' => '5', 'roman' => 'VI', 'slug' => 'laravel-brazil', 'space' => ' b ', 'tld' => 'com', //'uploaded' => 'path to file', 'uppercase' => 'BRAZIL', 'version' => '1.0.0', 'xdigit' => 'abc123', 'writable' => __FILE__, 'alwaysValid' => '@#$_', 'bool' => is_int(2) ); // Make the validation $validator = \Validator::make($data, $rules); // Result if( $validator->fails() ) { // Print errors $messages = $validator->messages(); foreach ($messages->all() as $message) { echo '<li>'.$message.'</li>'; } } else { // Success echo 'True.'; }
Code inspired from https://github.com/KennedyTedesco/Validation
Respect Validation
For more details on the rules:
https://github.com/Respect/Validation
Tks for Respect: The most awesome validation engine ever created for PHP!