在php中我们可以做到
isset($_POST['name'])
这样可以检测用户提交的空文本。
但是在laravel中
$request->has('name')
也在空字符串上返回null。
我需要找到一种方法来判断它是一个空字符串还是没有发布的字段
答案 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');