首页 > 解决方案 > 如何验证 laravel 中的复选框数组?

问题描述

我一直在尝试验证所有 10 个复选框数组项,但我似乎无法找到或理解如何使用 Laravel 验证器来验证复选框数组。下面的代码是我的数组 HTML。

<div id="CLAagree" style="display: none;">
    <div class="form-group form-check">
        <div class="col-sm-2">
            <div class="checkbox checkbox-green ck-button">
                <input type="checkbox" class="form-check-input" oninput="this.className = ''" name="claAgree[]" id="CLAagreeCB1" onclick="saveOnboard()" >
            </div>
        </div>
    </div>

我试图获取有关此的所有信息,但由于某种原因,我似乎无法理解验证中的数组。我知道添加“必需”会使输入成为必需,但我有 10 个,所以至少需要一个,但我需要 10 个。有没有人有任何选择?我只是在这一点上迷路了哈哈

$rules = array(
    "claAgree" => "required", 
    "claAgree.*" => "required",
);
$validation = Validator::make($request->all(),$rules);
if($validation->fails()) return back()->with('error',$validation->messages()->first());

这是一个显示如何发布数组的链接

标签: htmlarrayslaravel

解决方案


你可以这样做,检查你请求的数组名称(claAgree.*.claAgree),然后定义输入值,如果相同,那么你可以使用相同的

 $rules = array(
        "claAgree" => "required", 
        "claAgree.*.claAgree" => "required",
    );

    $validation = Validator::make($request->all(),$rules);
    if($validation->fails()) return back()->with('error',$validation->messages()->first());

推荐阅读