adamthehutt/laravel-sanitized-requests

此包已 弃用 并不再维护。未建议替代包。

在验证之前清洗请求参数

v0.4.0 2020-09-24 02:51 UTC

This package is auto-updated.

Last update: 2022-06-24 07:00:20 UTC


README

在传递到验证之前清洗请求输入。

安装

composer require adamthehutt/laravel-sanitized-requests

用法

创建一个请求类,并使用 SanitizesInput 特性。然后实现 sanitize(Sanitizer $sanitizer) 方法以在验证之前清理用户输入。

use AdamTheHutt\SanitizedRequests\SanitizesInput;
use AdamTheHutt\SanitizedRequests\Sanitizer;
use Illuminate\Foundation\Http\FormRequest;

class StoreItem extends FormRequest
{
    use SanitizesInput;

    public function sanitize(Sanitizer $sanitizer): void
    {
        $sanitizer->castToInt("user_id")
                  ->castToBoolean("for_sale")
                  ->castToFloat("price")
                  ->forgetIfEmpty("item_description")
                  ->trimWhitespace("nested.*.wildcard.param");
    }
}

清洗器

目前支持以下清洗方法

  • castToBool($key) - 将字符串输入值转换为布尔值
  • castToInt($key) - 将字符串输入值转换为整数
  • castToFloat($key) - 将字符串输入值转换为浮点数
  • castToString($key) - 将输入值转换为字符串
  • forgetIfEmpty($key) - 从输入中删除空字符串和只包含空值的数组
  • map($key, $callable) - 对输入值应用任意回调
  • trimWhitespace($key) - 从字符串输入值中删除空白字符