我已经将Laravel从5.3升级到5.4版本,但是,如果我在提交表单时在文本输入中有空值,我现在有一个NULL价值而不是空的价格,而这在5.3版本中并未发生。从Laravel 5.3升级到Laravel 5.4并将空字段转换为NULL
我现在已经强制设置一个可为空或需要的验证规则,我该如何解决这个问题?
我已经将Laravel从5.3升级到5.4版本,但是,如果我在提交表单时在文本输入中有空值,我现在有一个NULL价值而不是空的价格,而这在5.3版本中并未发生。从Laravel 5.3升级到Laravel 5.4并将空字段转换为NULL
我现在已经强制设置一个可为空或需要的验证规则,我该如何解决这个问题?
在Laravel 5.4中,有一个中间件TrimStrings
,它修剪所有空值。
您可以从app/Http/Kernel.php
禁用它。
只需从中间件阵列中删除\App\Http\Middleware\TrimStrings::class,
即可。
在Laravel 5.4中,包含TrimStrings
和ConvertEmptyStringsToNull
两个新的中间件。
实际上,对于每个表单请求,Laravel都会自动修剪任何空白区域,同时将所有空请求字段转换为空。
如果你想禁用这些,然后简单地在你的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,
];
请阅读[我可以询问什么主题](http://stackoverflow.com/help/on-topic)和[需要避免什么主题](https://stackoverflow.com/help/dont - 问题)和[如何问一个好问题](http://stackoverflow.com/help/how-to-ask)以及如何创建[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)以及[take the tour](http://stackoverflow.com/tour) –