使用'在'中验证选中的复选框(数组)

时间:2017-07-13 19:59:28

标签: php arrays laravel validation

我的表单中有以下复选框:

<div class="form-group">
    <label for="likes_turtles" class="col-md-3 control-label">Likes Turtles</label>
    <div class="col-md-6">
        <div class="checkbox">
            <label>
                <input type="checkbox" name="likes_turtles[]" value="Yes"> Yes
            </label>
        </div>
        <div class="checkbox">
            <label>
                <input type="checkbox" name="likes_turtles[]" value="No"> No
            </label>
        </div>
        <div class="checkbox">
            <label>
                <input type="checkbox" name="likes_turtles[]" value="Maybe so"> Maybe so
            </label>
        </div>
    </div>
</div>

如您所见,它们是一系列项目,因为我想允许选择多个项目。

我正在努力使检查项目必须有效。

这是我的验证规则:

[likes_turtles] => required|in:Yes,No,Maybe so

问题是,当我检查任何或所有这些项目时,我收到以下错误:

The selected likes turtles is invalid.

如何制作laravel,只需确保请求数组likes_turtles中的任何项都属于指定的列表,例如Yes,No,Maybe so

1 个答案:

答案 0 :(得分:2)

根据documentation on validating arrays,您可以这样做:

[
    "likes_turtles" => "required", 
    "likes_turtles.*" => "in:Yes,No,Maybe so"
]