我的视图中有一个复选框
<input type="checkbox" id="test5">
我想在我的控制器中验证是否选中了复选框
if (Input::get('test5') === true) {
//insert 1
} else {
//insert 0
}
答案 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
}
这是我不时做的事情,如果这是最佳做法,但它确实可以做到,并且不会使任何情况恶化