slashplus/identity

使用德国身份证、德国护照或德国居留许可(eAT)验证个人年龄。

1.1.1 2022-06-01 08:31 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:56 UTC


README

使用德国身份证、德国护照或德国居留许可(eAT)验证个人年龄。

验证使用laravels验证包(illuminate/validation;版本 ~6)。但是它不需要laravel应用程序,因此可以作为库独立使用,只要包的要求不冲突。

安装

通过composer安装包 composer require slashplus/identity

使用

要使用验证,只需通过\Slashplus\Identity\AgeVerification类创建一个新的实例,该类作为具体工厂类,通过传递验证数据和验证方法。根据验证方法(例如id_cardpassportresidence),将创建正确的验证器实例并可以使用。

例如,一个id_card类型的验证

// note: this example contains invalid data, but you get an idea
$validator = \Slashplus\Identity\AgeVerification::create([
    [
    'serial' => '5484197598', 
    'birth' => '9512210', 
    'expire' => '4702025', 
    'nationality' => 'D', 
    'checksum' => '4'
    ]
]);

您可以使用来自Slashplus\Identity\Contracts\Validation契约的所有验证方法,该契约扩展了\Illuminate\Contracts\Validation\Validator契约。

这意味着如果需要,您可以从验证器获取以下信息

// regular illuminate methods i.e.
$validatedData = $validator->validated(); // array of validated Data (throws exception)

// additional data i.e.
$validatedBirth = $validator->validatedBirthDate(); // DateTime object (throws exception)
$validatedExpire = $validator->validatedExpireDate(); // DateTime object (throws exception)

数据结构

输入数据可能取决于验证类型。有关更多信息,请参阅类型目录及其readme文件。

路线图

目前,只有三种验证类型用于检查与德国身份证、德国护照和德国居留许可(eAT)的数据。在未来的版本中,这可能会扩展。请随时贡献或告诉我们您的愿望。🚀

目前,这个包使用版本 ~6 的laravel组件。这是因为这个包应该与PHP 7.3兼容,在创建时,它还必须与symfony组件的版本兼容,这些版本是laravel较新版本不允许安装的。一旦这不再成为问题,所需的包版本将更新。可能想要分支这个包的人应该知道,它应该与laravel 6-8兼容,但不能保证兼容性。