arondeparon/laravel-request-sanitizer

一个易于使用的请求清理器,允许您在验证之前清理表单数据。

6.0.0 2024-06-16 21:41 UTC

This package is auto-updated.

Last update: 2024-09-16 22:13:18 UTC


README

Total Downloads

arondeparon/laravel-request-sanitizer 包提供了一个流畅的接口,在验证之前清理表单请求。

为什么我要使用这个包?

通常,验证请求是不够的。请求清理器允许您在将数据传递给验证器之前轻松地操作表单数据。您可以在几分钟内开始使用它,并且它与 Laravel 的 FormRequest 对象完全兼容。

目录

如何使用

语法类似于将 rules 添加到 表单请求 的方式。

class StoreCustomerInformationRequest extends FormRequest
{
     use SanitizesInputs;
     
     protected $sanitizers = [
        'lastname' => [
            Capitalize::class,
        ],
        'mobile_phone' => [
            RemoveNonNumeric::class
        ],
     ];
}

安装

composer require arondeparon/laravel-request-sanitizer

用法

  • SanitizesInputs 特性添加到您的表单请求中。
  • 编写自己的清理器或使用提供的清理器之一,并将它们添加到表单请求的 $sanitizers 属性中。
  • 现在,在验证之前,您的请求数据将被清理。

预定义清理器

FilterVars 使用

FilterVars 清理器作为默认 PHP filter_var 函数的包装器。它接受与原始函数相同的(可选)参数。两个参数都可以是 arraystring 类型

 {
    protected $sanitizers = [
        'last_name' => [
            FilterVars::class => [
                'filter' => FILTER_SANITIZE_STRING,
                'options' => FILTER_FLAG_STRIP_BACKTICK
            ]
        ]
    ];
 }

有关 filter_vars 的更多信息,请参阅 https://php.ac.cn/manual/en/function.filter-var.php

编写自己的清理器

通过实现 Sanitizer 接口来编写自己的清理器,该接口只需要一个方法。

interface Sanitizer
 {
     public function sanitize($input);
 }

测试

$ composer test

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件