在PHP我们可以做到
isset($_POST['name'])
Run Code Online (Sandbox Code Playgroud)
这样用户提交的空文本就可以被检测到.
但在laravel
$request->has('name')
Run Code Online (Sandbox Code Playgroud)
在空字符串上也返回null.
我需要找到一种方法来判断它是一个空字符串还是根本没有发布的字段
Joe*_*Joe 19
如果您使用的是laravel 5.4或更高版本,则默认情况下它使用中间件将所有空字符串转换为null.
在App\Http\Kernel.php中:
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class
注释掉这个中间件以防止这种行为.
您可以在请求实例中使用exists()方法.如果您想检查请求检查中是否有值:
$request->has('key');
Run Code Online (Sandbox Code Playgroud)
如果要检查密钥是否存在,请使用:
$request->exists('key');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3889 次 |
最近记录: |