如何验证是否在laravel中选中了复选框?

时间:2016-11-22 01:07:38

标签: php html laravel laravel-4

我的视图中有一个复选框

<input type="checkbox" id="test5">

我想在我的控制器中验证是否选中了复选框

if (Input::get('test5') === true) {
     //insert 1
} else {
    //insert 0
}

2 个答案:

答案 0 :(得分:3)

首先,复选框(必须输入任何类型)必须具有名称和值。

<input type="checkbox" name="mycheckbox" value="1" id="test6">

然后在您的控制器上执行:

Request::get('mycheckbox')

如果选中复选框,则会输出复选框的值,如果没有,则输出null(浏览器不发送任何内容)

if (Request::get('mycheckbox') {
    // Do anything here
}

注意输入id属性无关紧要。这里重要的是输入name属性。

答案 1 :(得分:1)

您可以正常验证所有内容,然后使用$data = $request->all();将请求传递给数组时,可以通过仅检查'mycheckbox'空间是否为空来检查复选框是否被选中,

$dataValidate = $request->validate([
    'something' => 'required|numeric|min:3|max:99',
    'something' => 'required|numeric',
    'something' => 'required|numeric',
    'something' => 'required|alpha_dash',
    'something' => 'required|email',
    'something' => ['required', new SomethingRule],
    'something' => 'required|starts_with:0,+',
    'something' => 'nullable|numeric',
]);
$data = $request->all();
if (empty($data['mycheckbox'])) {
    //something if the checkbox is not checked
}else{
    //something if the checkbox is checked
}

这是我不时做的事情,如果这是最佳做法,但它确实可以做到,并且不会使任何情况恶化