alexeevdv/yii2-kz-personalid

Installs: 3 323

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:yii2-extension

1.4.4 2018-02-18 08:01 UTC

This package is auto-updated.

Last update: 2021-09-29 01:57:34 UTC


README

Build Status codecov PHP 5.6 PHP 7.0 PHP 7.1 PHP 7.2

Yii2 extension to deal with Kazakhstan personal identification number

It contains:

  • Both server-side and client-side validators
  • Helper to fetch data from identification number

Installation

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require alexeevdv/yii2-kz-personalid "~1.0"

or add

"alexeevdv/yii2-kz-personalid": "~1.0"

to the require section of your composer.json file.

Usage

Validation

As standalone validator

use alexeevdv\kz\PersonalidValidator;

//...
$validator = new PersonalidValidator;
$result = $validator->validateValue('123456789012');
//...

In model

use alexeevdv\kz\PersonalidValidator;

public function rules()
{
    //...
    ['personalid', PersonalidValidator::class, 'message' => 'Wrong personalid value!'],
    //...
}

Helper

use alexeevdv\kz\PersonalidHelper;

$personalid = '850407301166';

/** @var \DateTime $birtdate = 1985-04-07 */  
$birtdate = PersonalidHelper::getBirthDate($personalid);

/** @var int $sex = PersonalidHelper::SEX_MALE */
$sex = PersonalidHelper::getSex($personalid);

/** @var string $serialNumber = 0116 */
$serialNumber = PersonalidHelper::getSerialNumber($personalid);