jiinkim / laravel-deeper-sanitizer

一个为Laravel设计的HTTP请求清理器,允许您在控制器开始处理之前对任何格式的JSON对象进行清理

dev-main 2023-02-01 02:58 UTC

This package is not auto-updated.

Last update: 2024-09-22 20:22:48 UTC


README

此仓库源自 arondeparon/laravel-request-sanitizer。我对其进行了一些修改以供个人使用。额外的清理类用于处理更多JSON有效负载格式。

请检查原始仓库 (https://github.com/ArondeParon/laravel-request-sanitizer/blob/main/README.md)。

清理嵌套JSON对象

class StoreCustomerInformationRequest extends FormRequest
{
     use SanitizesInputs;
     
     protected $sanitizers = [
        'billing_address' => [
            NestedSanitizer::class => [
                'sanitizers' => [
                    'address1',
                    'address2',
                    'city',
                    'country' => [
                        Lowercase::class
                    ],
                    'province',
                    'zip' => [
                        Uppercase::class,
                        Trim::class
                    ],
                    'province_code' => [
                        Uppercase::class
                    ],
                    'country_code' => [
                        Uppercase::class
                    ],
                ]
            ]
        ],
     ];
}

清理JSON对象的数组

class StoreCustomerInformationRequest extends FormRequest
{
     use SanitizesInputs;
     
     protected $sanitizers = [
        'line_items' => [
            NestedArraySanitizer::class => [
                'currency' => [
                    Uppercase::class
                ],
                'quantity' => [
                    RemoveNonNumeric::class
                ],
                'price' => [
                    RemoveNonNumeric::class
                ],
                'shipping_fee' => [
                    RemoveNonNumeric::class
                ],
                'discount' => [
                    RemoveNonNumeric::class
                ],
                'taxes' => [
                    RemoveNonNumeric::class
                ],
            ]
        ],
     ];
}