PHPackages                             corneltek/validationkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. corneltek/validationkit

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

corneltek/validationkit
=======================

1.1.1(13y ago)77.7k↓66.7%2[1 issues](https://github.com/c9s/ValidationKit/issues)2CPHP &gt;=5.3.0

Since Mar 21Pushed 11y ago2 watchersCompare

[ Source](https://github.com/c9s/ValidationKit)[ Packagist](https://packagist.org/packages/corneltek/validationkit)[ RSS](/packages/corneltek-validationkit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (2)

Validation
==========

[](#validation)

Validators
----------

[](#validators)

- `ValidationKit\PhoneNumber\TWPhoneNumberValidator`
- `ValidationKit\TW\IDNumberValidator`
- `ValidationKit\CallbackValidator`
- `ValidationKit\ChainedValidator`
- `ValidationKit\EmailValidator`
- `ValidationKit\PasswordValidation`
- `ValidationKit\PatternValidator`
- `ValidationKit\RangeValidator`
- `ValidationKit\StringLengthValidator`
- `ValidationKit\StringValidator`

Validator Constructor
---------------------

[](#validator-constructor)

ValidationKit Validator's constructor prototype is:

```
__construct( $options = array() , $msgs = array() );

```

The $msgs() is an associative array that contains:

```
msg_id => msg_str

```

For different kind of validation messages, every validator provides its custom msgid for message mapping, you can simply override the message dictionary to customize your messages.

The following sample code shows the format of message dictionary:

```
$validtor = new PasswordValidator(array( /* options */ ), array(
    'require_digits_error' => 'Please enter digits in your password',
    'require_alpha_error'  => 'Please enter alphabets in your password',
    'max_length_error' => 'The maximum length of password is 24 charactors.'
));
```

The following list is the default message mapping:

- valid
- invalid

And of course you can easily extend messages in your customized validator class.

To return an invalid message in your validator:

```
return $this->invalid('require_digits_error');
```

To return an valid message in your validator:

```
return $this->valid('require_digits_error');
```

To get the result messages from validator:

```
$msgs = $validator->getMessages();
foreach( $msgs as $msgId => $msg ) {
    // $msg => ValidationMessage
}
```

The result message is a `ValidationMessage` object, there are three class properties in `ValidationMessage`:

1. valid (boolean)
2. id (string, message id)
3. message (string, message)

### EmailValidator

[](#emailvalidator)

```
use ValidationKit\EmailValidator;
$validator = new EmailValidator;
if( $validator->validate('foo@foo.com') ) {
    echo "Success!\n";
} else {
    foreach( $validator->getMessages() as $msgId => $msg ) {
        // $msg is a ValidationMessage object,
        // which supports __toString() convertion.
        echo $msg . "\n";
    }
}
```

### PatternValidator

[](#patternvalidator)

```
    use ValidationKit\PatternValidator;
    $validator = new PatternValidator( '#test test test#' );
    $bool = $validator->validate( $value );
    $msgs = $validator->getMessages();
```

### StringLengthValidator

[](#stringlengthvalidator)

```
$validator = new ValidationKit\StringLengthValidator(array(
    'min' => 5, 'max' => 10,
));
```

### StringValidator

[](#stringvalidator)

```
    use ValidationKit\StringValidator;
    $validator = new StringValidator(array(
            'starts_with' => '....' ,
            'ends_with' => ... ,
            'is' => ...,
            'contains' => ...,
            'except' => ...,
        ), array(
            'invalid' => 'general invalid message',
            'starts_with_error' => 'error message'
        ));
    $bool = $validator->validate( $string );
    $msgs  = $validator->getMessages();
    foreach( $msgs as $msgId => $msg ) {
        echo $msg, "\n";
    }
```

### PasswordValidator

[](#passwordvalidator)

```
$validator = new ValidationKit\PasswordValidator(array(
    'max_length' => 24,
    'min_length' => 10,
    'require_digits' => true,
    'require_alpha' => true,
), array(
    'require_digits_error' => 'Please enter digits in your password',
    'require_alpha_error'  => 'Please enter alphabets in your password',
    'max_length_error' => 'The maximum length of password is 24 charactors.'
));
```

### RangeValidator

[](#rangevalidator)

```
    use ValidationKit\RangeValidator;
    $validator = new RangeValidator(array(
        'greater_than' => 100,
        'less_than' => 200,
    ));
    $bool = $validator->validate( 200 );

    $validator = new RangeValidator(array( '>' => 10 , '
