actengage/sanitize
最新稳定版本:v3.0.0
Composer 安装命令:
composer require actengage/sanitize
包简介
A collection of common sanitizer functions.
README 文档
README
A collection of classes used to sanitize common inputs like email addresses, phone numbers, and zip codes.
Installation
composer require actengage/sanitize
Basic Usage
use Actengage\Sanitize\Facades\Sanitize; Sanitize::email(' JOHN.doe @gmail.com '); // johndoe@gmail.com Sanitize::phone('(888) 123-1234'); // 8881231234 Sanitize::zip('12345'); // 12345
Attribute Casts
You can cast Eloquent attributes as sanitized values.
use Actengage\Sanitize\Casts\Email; use Actengage\Sanitize\Casts\Phone; use Actengage\Sanitize\Casts\Zip; class User extends Model { protected $guarded = []; protected $casts = [ 'email' => Email::class, 'phone' => Phone::class, 'zip' => Zip::class, ]; } $user = User::create([ 'email' => ' john.doe@gmail.com ', 'phone' => '1-800-567-1234', 'zip' => '1234', ]); $user->email; // johndoe@gmail.com $user->phone; // 8005671234 $user->zip; // 01234
Validation Rules
Validation rules are included for each sanitizer.
use Actengage\Sanitize\Rules\Email; use Actengage\Sanitize\Rules\Phone; use Actengage\Sanitize\Rules\Zip; $request->validate([ 'email' => ['required', new Email], 'phone' => ['required', new Phone], 'zip' => ['required', new Zip], ]);
Middleware
The SanitizeInputs middleware automatically sanitizes matching request fields.
use Actengage\Sanitize\Http\Middleware\SanitizeInputs; Route::middleware(SanitizeInputs::class)->group(function () { // Request inputs for email, phone, and zip are sanitized automatically });
Custom Sanitizer Macros
You can add additional sanitizer functions using macros.
use Actengage\Sanitize\Facades\Sanitize; Sanitize::macro('number', function (?string $value) { return is_numeric($value) ? $value : null; }); Sanitize::number('123'); // "123" Sanitize::number('abc'); // null
Publishing a New Release
This package uses changesets for automated versioning and releases.
- Create a branch and make your changes
- Add a changeset describing the change:
Select the bump level (patch, minor, or major) and write a summary. See the changeset skill for semver rules specific to this package.pnpm changeset - Open a PR — CI runs Pint, PHPStan, Rector, and Pest
- Merge the PR — the release workflow creates a "Version Packages" PR that bumps the version in
package.jsonand updatesCHANGELOG.md - Review and merge the "Version Packages" PR — a git tag and GitHub Release are created automatically
统计信息
- 总下载量: 2.23k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-09-12