https://github.com/windwalker-io/validator
[READ ONLY] Simple interface to help you validate string.
https://github.com/windwalker-io/validator
php regex-validator validation windwalker
Last synced: 3 months ago
JSON representation
[READ ONLY] Simple interface to help you validate string.
- Host: GitHub
- URL: https://github.com/windwalker-io/validator
- Owner: windwalker-io
- Created: 2014-09-20T13:35:21.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2021-02-18T07:09:39.000Z (over 5 years ago)
- Last Synced: 2025-01-02T06:44:52.782Z (over 1 year ago)
- Topics: php, regex-validator, validation, windwalker
- Language: PHP
- Homepage: https://github.com/ventoviro/windwalker
- Size: 95.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Windwalker Validator
Windwalker Validator is a simple interface to help up validate strings.
## Installation via Composer
Add this to the require block in your `composer.json`.
``` json
{
"require": {
"windwalker/validator": "~3.0"
}
}
```
## Simple Validate Process
``` php
use Windwalker\Validator\Rule\EmailValidator;
$validator = new EmailValidator;
$validator->validate('sakura@flower.com'); // bool(true)
$validator->validate('sakura'); // bool(false)
```
### Available Validator Rules
- AlnumValidator
- BooleanValidator
- ColorValidator
- CreditcardValidator
- EmailValidator
- EqualsValidator
- IpValidator
- NoneValidator
- PhoneValidator
- RegexValidator
- UrlValidator
- CallbackValidator
- CompareValidator
- PhpTypeValidator
## Regex Validator
``` php
use Windwalker\Validator\Rule\RegexValidator;
$validator = new RegexValidator('^[a-zA-Z0-9]*$', 'i');
$validator->validate('abc_123:978'); // bool(false)
```
## Equals Validator
``` php
use Windwalker\Validator\Rule\EqualsValidator;
$validator = new EqualsValidator('ABC');
$validator->validate('ABC'); // bool(true)
```
Strict Mode:
``` php
$validator = new EqualsValidator(123, true);
$validator->validate('123'); // bool(false)
```
## Error Message
``` php
$validator->setMessage('This string is not valid');
if (!$validator->validate('sakura'))
{
throw new \Exception($validator->getError());
}
```
## Create Your Own Validator
``` php
use Windwalker\Validator\AbstractValidator;
class MyValidator extends AbstractValidator
{
public function test($string)
{
return (bool) strlen($string);
}
}
$validator = new MyValidator;
$validator->validate('foo');
```
## Extends Regex Validator
``` php
use Windwalker\Validator\Rule\RegexValidator;
class MyRegexValidator extends RegexValidator
{
protected $modified = 'i';
protected $regex = '[a-zA-Z]';
}
```
## Composite
Match all.
```php
use Windwalker\Validator\ValidatorComposite;
$validator = new ValidatorComposite([
AlnumValidator::class,
new PhoneValidator
]);
$validator->validate('1a2b'); // false
$validator->getResults(); // [true, false]
```
Match one.
```php
use Windwalker\Validator\ValidatorComposite;
$validator = new ValidatorComposite([
AlnumValidator::class,
new PhoneValidator
])->setMode(ValidatorComposite::MODE_MATCH_ONE);
$validator->validate('1a2b'); // true
$validator->getResults(); // [true, false]
```
Use methods:
```php
$validator->validateOne($value);
$validator->validateAll($value);
```