composer require resultsystems/validation
In your config/app.php add 'ResultSystems\Validation\ValidationServiceProvider::class' to the end of the 'providers' array:
'providers' => array(
...
...
ResultSystems\Validation\ValidationServiceProvider::class,
),
// Rules
$rules = array(
'nis' => 'nis',
'titulo_eleitoral' => 'titulo_eleitoral',
'cpf' => 'cpf',
'cpf_mask' => 'cpf_mask',
'cnpj' => 'cnpj',
'cnpj_mask' => 'cnpj_mask',
'cnpj_cpf' => 'cnpj_cpf',
'cnpj_cpf_mask' => 'cnpj_cpf_mask',
'telefone' => 'telefone',
'telefone_mask' => 'telefone_mask',
'celular' => 'celular',
'celular_mask' => 'celular_mask',
'time' => 'time',
'min_time' => 'min_time',
'after_time' => 'after_time',
'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(
'nis' => '17033259504',
'titulo_eleitoral' => '000000000000',
'cpf' => '22205417118',
'cpf_mask' => '222.054.171-18',
'cnpj' => '68518321000116',
'cnpj_mask' => '68.518.321/0001-16',
'cnpj_cpf' => '22205417118', // ou 68518321000116
'telefone' => '3430353637',
'telefone_mascara' => '34 3035-3637',
'celular' => '4191234567',
'celular_mascara' => '41 9123-4567',
'time' => '18:40',
'min_time' => 'min_time:time',
'after_time' => 'after_time:time',
'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
For more details on the rules:
https://github.com/Respect/Validation
Tks for Respect: The most awesome validation engine ever created for PHP!