繁体   English   中英

Laravel 通过表单传递 0 作为值并获得 null

[英]Laravel passing 0 as value through form and getting null

所以我有一个带有选择输入的简单表单,它有一个值为 "0" 的选项:

<form method="post" action="{{ action('Something@something') }}">
    <select name="status">
           <option selected value="0">Bla bla bla</option>
    </select>
    <button type="submit">Press me</button>
</form>

发生错误,当我从选择输入和控制器中选择唯一选项时,我得到空而不是“0”数字(我确实使用 dd() 方法进行了检查)。 这个数字是否有可能在集成中间件或其他地方丢失? 或者这是一个PHP技巧?

好的,答案是在我的中间件中我有这个代码:

public function handle($request, Closure $next)
{
    if (!Auth::check()) {
        return redirect('/blablabla');
    }

    foreach ($request->input() as $key => $value) {
        if (empty($value)) {
            $request->request->set($key, "");
        }
    }

    return $next($request);
}

问题在于empty($value) 我将empty()改为!isset()并且一切都修复了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM