本文介绍了在laravel验证中,如果在另一个多选字段中选择了值,如何设置要求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的表格:

<input type="checkbox" name="category[]" value="a">Option A</option>
<input type="checkbox" name="category[]" value="b">Option B</option>
<input type="checkbox" name="category[]" value="c">Option C</option>
<input type="checkbox" name="category[]" value="d">Option D</option>
<input type="checkbox" name="category[]" value="e">Option E</option>
<input type="checkbox" name="category[]" value="f">Option F</option>

<input type="text" name="description">

如果选择了选项A,我想在laravel 5中进行后端验证时需要描述.

If option A is chosen, I want to make description required in backend validation in laravel 5. So I tried:

$validator = Validator::make($request->all(), [
        'description' => 'required_if:category,a',
    ]);

if ($validator->fails()) {
        return "error!"
}

但是,检查不起作用.我应该如何设置验证规则才能使其生效?

However, the checking is not working. How should I set the validation rule to make it works?

推荐答案

首先,您需要找到带有value = 'a'的复选框的索引,在您的示例中是0,可以通过以下方式完成:$index = array_search('a', $request->get('category'));.最后验证是:

First you need find index of checkbox with value = 'a', in your example is 0 and it can be done by: $index = array_search('a', $request->get('category'));. And finally validation is:

[
    'description' => 'required_if:category.0,a',
]

这篇关于在laravel验证中,如果在另一个多选字段中选择了值,如何设置要求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 12:30