【问题标题】:Validating selected checkboxes (array) with 'in'使用“in”验证选定的复选框(数组)
【发布时间】:2017-12-18 18:49:39
【问题描述】:

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

<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

【问题讨论】:

  • 如果您拆分该规则并在第二条规则的字段名称后添加.*"likes_turtles" =&gt; "required", "likes_turtles.*" =&gt; "in:Yes,No,Maybe so"

标签: php arrays laravel validation


【解决方案1】:

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

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

【讨论】:

  • 工作得很棒。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 2016-06-29
  • 1970-01-01
  • 2021-07-15
  • 2013-11-07
  • 2013-01-05
  • 2014-03-09
相关资源
最近更新 更多