事实上,你可以扩展
TransformsRequest
ConvertEmptyStringsToNull
也扩展了相同的类),然后重写
transform()
我将不包括请求字段“abc”
设置为空
. 对不起
例如,我使用了一个数组,以便排除多个字段。
//this is a middleware class I have removed `handle()` function leaving the default.
class NinjaAuther extends TransformsRequest
{
/**
* Transform the given value.
*
* @param string $key
* @param mixed $value
* @return mixed
*/
protected function transform($key, $value)
{
if(is_string($value) && !in_array($key, ['abc'], true)) {
$value = $value === '' ? null : $value;
}
return $value;
}
}
去除
中间件来自
$middleware
然后包括您自己的NinjaAuther中间件。
那你就可以走了!所有请求都通过您的自定义中间件!您可以根据需要在单个组的中间件上使用它(以防您不想将其应用于所有请求)
PS:我并没有仔细检查TransformRequest类,但我认为它应该是安全的,因为不管怎样,它被应用于内核内默认配置中的所有请求。php