如何在laravel上区分请求空字符串和null

时间:2017-03-26 07:50:20

标签: laravel-5

在php中我们可以做到

isset($_POST['name'])

这样可以检测用户提交的空文本。

但是在laravel中

$request->has('name')

也在空字符串上返回null。

我需要找到一种方法来判断它是一个空字符串还是没有发布的字段

2 个答案:

答案 0 :(得分:17)

如果您使用的是laravel 5.4或更高版本,默认情况下它会使用中间件将所有空字符串转换为null。

在App \ Http \ Kernel.php中:           \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

注释掉此中间件以防止此行为。

答案 1 :(得分:7)

您可以在请求实例中使用exists()方法。如果您想检查请求检查中是否有值:

$request->has('key');

如果要检查密钥是否存在,请使用:

$request->exists('key');