Laravel如何测试控制器中是否选中了复选框 [英] Laravel how to test if a checkbox is checked in a controller

查看:62
本文介绍了Laravel如何测试控制器中是否选中了复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图获取是否选中了以下复选框:

I tried to get if checkbox is checked with:

我认为:

<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
   <div class="checkbox checkbox-success">
      <input name="test" id="test" type="checkbox" value="test">
      <label for="test" style="padding-left: 15px!important;">test</label>
   </div>
</form>
<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
   {{ csrf_field() }}
   <div class="form-group pull-right">
      <button type="submit" class="btn btn-danger">Submit</button>
   </div>
</form>

在我的控制器中:

public function createRole(Request $request)
{
    if($request->has('test')) {
         new \App\Debug\Firephp('test', ['test' => true]);
    }
}

在我的 web.php 中:

Route::post('/admin/role/add', 'AdminController@createRole')

但由于某些原因无法正常工作.

but doesn't work for some reason.

我该怎么办?

感谢您的答复.

这是我的表单构建不佳.

It was my form that was poorly build.

推荐答案

我相信您真正的问题是您有两种不同的形式.您的复选框采用一种形式,您的提交按钮采用另一种形式.我相信它们都必须采用相同的形式.否则,无论状态如何,您的复选框状态都不会返回.

I believe your real problem is that you have two separate forms. Your checkbox is in one form, your submit button is in a second form. I believe they both need to be in the same form. Otherwise your checkbox state is never returned, regardless of it's state.

在您看来,尝试以此替换您提供的表单标记:

In your view, try replacing the form markup you provided with this:

<form data-toggle="validator" data-disable="false" role="form" action="/admin/role/add" method="post">
    <div class="checkbox checkbox-success">
        <input name="test" id="test" type="checkbox" value="test">
        <label for="test" style="padding-left: 15px!important;">test</label>
    </div>
    {{ csrf_field() }}
    <div class="form-group pull-right">
        <button type="submit" class="btn btn-danger">Submit</button>
    </div>
</form>

这篇关于Laravel如何测试控制器中是否选中了复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆