我需要检查是否至少选中了一个复选框,我是laravel中的新手,所以我不知道如何使用复选框进行操作,已经尝试过仅使用文本字段但是在复选框中不知道'required'=>'required'
是否有用。
这是我的代码
<div class="col-md-12" style="border: 1px solid;border-color:#ddd">
<h5 style="color : #4897D3;">Services Quote for:</h5>
<div class="col-md-12">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>
<input type="checkbox" name="quote[]" value="CON"> CON - Consulting
</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>
<input type="checkbox" name="quote[]" value="SMM"> SMM - Social Media Marketing
</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>
<input type="checkbox" name="quote[]" value="EVT"> EVT - Virtual Tour New
</label>
</div>
</div>
</div>
</div>
任何人都可以帮助我或建议我将如何做到这一点?
答案 0 :(得分:0)
尝试使用验证器:
Validator::make(
[ 'quote' => Input::get('quote') ],
[ 'quote' => 'min:1' ]
);
答案 1 :(得分:0)
怎么样:
if (!empty($request->quote)) {
// Code to run IF checkboxes are checked
}
这样你可以通过数组操作提取条件中的复选框(因为$request->quote
是一个数组)。
答案 2 :(得分:0)
尝试理解这个概念:
<input type="checkbox" name="quote[]" />
这里你创建了多个名为quote
的复选框,名称本身就是一个数组,因此它可以接受多个值。
现在在控制器端进行如下检查:
if(isset($request->quote) && count($request->quote) == 0)
{
// No checkbox is checked
}
if(isset($request->quote) && count($request->quote) == 1)
{
// 1 checkbox is checked
}
答案 3 :(得分:0)
在laravel中,您可以在请求文件中编写验证规则。
示例:app \ Http \ Requests \ MyFormRequest.php
<?php namespace App\Http\Requests;
use App\Http\Requests\Request;
use Illuminate\Support\Facades\Input;
use Response;
use Illuminate\Foundation\Http\FormRequest;
class MyFormRequest extends Request {
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'quote' => 'min:1'
];
}
}
public function messages()
{
return [
'quote' => 'Select minimum 1 checkbox'
];
}
}
LeadinfoController.php
<?php namespace App\Http\Controllers;
use App\Http\Requests\MyFormRequest;
......
......
class LeadinfoController extends Controller {
......
........
public function multiple_upload(MyFormRequest $request) {
$form_data= $request->all();
.........
.........
}
.........
.........
}
参考:https://laravel.com/docs/5.3/validation#form-request-validation