【发布时间】:2018-01-15 20:43:54
【问题描述】:
我已将 Laravel 从 5.3 升级到 5.4 版本,但是,如果我在提交表单时在文本输入中有一个空值,我现在有一个 NULL 值而不是一个空值,而这并没有发生5.3版本。
我现在必须强制设置可空或必需的验证规则,我该如何解决这个问题?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.3 laravel-5.4
我已将 Laravel 从 5.3 升级到 5.4 版本,但是,如果我在提交表单时在文本输入中有一个空值,我现在有一个 NULL 值而不是一个空值,而这并没有发生5.3版本。
我现在必须强制设置可空或必需的验证规则,我该如何解决这个问题?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.3 laravel-5.4
在 Laravel 5.4 中,两个新的中间件被包含在 TrimStrings 和 ConvertEmptyStringsToNull 中。
实际上,对于每个表单请求,Laravel 都会自动修剪任何空白,同时还将所有空请求字段转换为 null。
如果您想禁用这些功能,只需在您的 app/Http/Kernel.php 中进行评论即可。
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
// \App\Http\Middleware\TrimStrings::class,
// \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
【讨论】:
在 Laravel 5.4 中,有一个中间件 TrimStrings 可以修剪所有空值。
您可以从app/Http/Kernel.php 禁用它。
只需从中间件数组中删除 \App\Http\Middleware\TrimStrings::class,。
【讨论】: