Rapture PHP Validation
, (*1)
Simple validation for PHP., (*2)
Requirements
- PHP v5.4.0
- php-date, php-filter, php-json, php-mbstring, php-pcre
Install
composer require mrjulio/rapture-validation
Quick Start
$validator = new Email();
$validator->isValid('test@gmail.com'); // true
$validator->isValid('test[at]gmail.com'); // false
$validator = new Country(Country::ISO2);
$validator->isValid('us'); // true
$validator->isValid('ux'); // false
// Group Validator
$validator = new Group([
'email' => [
['required'],
['email', null, 'Invalid email format :value'],
],
'age' => [
['optional'],
['number', null, 'Invalid age'],
['between', [13, 60], 'You have to be at least :min years old!'],
],
'country' => [
['country', [Country::ISO3], 'Invalid ISO3 for country ":value"'],
]
]);
$validator->isValid([
'email' => 'test@gmail.com',
'age' => 1,
'country' => 'xxx'
]); // false
$validator->getFirstError(); // Invalid ISO3 for country "xxx"
List of validators
| Category |
Validator |
Status |
| Basic |
Optional |
โ |
| Required |
โ |
| NotEmpty |
โ |
| IsEmpty |
โ |
| NotNull |
โ |
| IsNull |
โ |
| IsTrue |
โ |
| IsFalse |
โ |
| Type |
โ |
| String |
Between |
โ |
| Email |
โ |
| Length |
โ |
| Url |
โ |
| Regex |
โ |
| Ip |
| Uuid |
| Comparison |
Between |
โ |
| EqualTo |
โ |
| NotEqualTo |
โ |
| IdenticalTo |
โ |
| NotIdenticalTo |
โ |
| LessThan |
โ |
| LessThanOrEqualTo |
โ |
| GreaterThan |
โ |
| GreaterThanOrEqualTo |
โ |
| Time |
Date |
| DateTime |
| Time |
| DateRange |
| DateTimeRange |
| TimeRange |
| Collection |
Choice |
| Group |
โ |
| In |
โ |
| Count |
| Unique |
| PropelUnique |
| Language |
| Locale |
โ |
| Country |
โ |
| File |
FileSize |
โ |
| FileType |
โ |
| Financial |
Bic |
| CardScheme |
| Currency |
โ |
| Luhn |
| Iban |
| Isbn |
| Issn |
| Other |
Callback |
โ |
| Username |
โ |
| Password |
โ |
| ReCaptcha |
โ |
| EmailDomain |
โ |
| Cnp |
โ |
About
Author
Iulian N. rapture@iuliann.ro, (*3)
Testing
cd ./test && phpunit
License
Rapture PHP Validation is licensed under the MIT License - see the LICENSE file for details., (*4)