spoorsny / laravel-south-african-id
用于Laravel的验证规则和Eloquent模型属性,将其转换为封装南非政府发行的个人身份证号的价值对象。
Requires
- php: ^8.3
- spoorsny/south-african-id: ^3.0
Requires (Dev)
- ext-xdebug: *
- fakerphp/faker: ^1.23
- laravel/framework: ^11.9
- laravel/pint: ^1.13
- laravel/sail: ^1.26
- laravel/tinker: ^2.9
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.0
- phpunit/phpunit: ^11.0.1
- rregeer/phpunit-coverage-check: ^0.3.1
This package is auto-updated.
Last update: 2024-09-07 11:06:07 UTC
README
用于Laravel的南非身份证
验证规则和将Eloquent模型属性转换为封装南非政府发行的个人身份证号的价值对象,适用于Laravel。
验证器将接受由Faker idNumber 格式化器生成的值,该格式化器是英语(南非)或 en_ZA 区域的一部分。
安装
使用 Composer 安装该包。
composer require spoorsny/laravel-south-african-id
用法
验证规则
请求中提交的值可以被验证为南非身份证。
use Spoorsny\Laravel\Rules\SouthAfricanId; $request->validate([ 'id_number' => ['required', 'string', new SouthAfricanId()], ]);
如果请求还包含出生日期字段,则可以使用 BirthDateMatchSouthAfricanId 规则验证该字段与南非身份证匹配。在这种情况下,包含南非身份证的字段必须命名为 south_african_id。
use Spoorsny\Laravel\Rules\BirthDateMatchSouthAfricanId; use Spoorsny\Laravel\Rules\SouthAfricanId; $request->validate([ 'south_african_id' => ['required', 'string', new SouthAfricanId()], 'birth_date' => [ 'date_format:Y-m-d', 'before_or_equal:today', new BirthDateMatchSouthAfricanId() ], ]);
转换
Eloquent 模型的属性可以被转换为一个南非身份证值对象(由Composer包 spoorsny/south-african-id 提供的 \Spoorsny\ValueObjects\SouthAfricanId)的实例。
use Spoorsny\Laravel\Casts\AsSouthAfricanId; /** * Get the attributes that should be cast. * * @return array<string, string> */ protected function casts(): array { return [ 'south_african_id' => AsSouthAfricanId::class, ]; }
贡献
要为该包做出贡献,请参阅贡献指南。
许可
版权所有 © 2024 Geoffrey Bernardo van Wyk https://geoffreyvanwyk.dev
此文件是spoorsny/laravel-south-african-id软件包的一部分。
spoorsny/laravel-south-african-id软件包是自由软件:您可以重新分发它,也可以在GNU通用公共许可证的条款和条件下修改它,该许可证由自由软件基金会发布,可以是许可证的第3版,也可以是(根据您的选择)任何较新版本。
spoorsny/laravel-south-african-id软件包是在希望它有用的希望下分发的,但没有任何保证;甚至没有关于其适销性或特定用途的隐含保证。有关更多详细信息,请参阅GNU通用公共许可证。
您应该已收到GNU通用公共许可证的副本。如果未收到,请参阅https://gnu.ac.cn/licenses/。
有关许可证的副本,请参阅此存储库中的LICENSE 文件。