laravel-5.5 - 在多个复选框中选中任何特定的复选框,然后在 laravel 中需要其他验证文本字段
问题描述
在多个复选框中选中任何特定的复选框,然后在 Laravel 中需要另一个验证文本字段。
我有多个复选框
<label class="checkbox-inline" for="item_1">
<input name="control_4[]" id="item_1" value="1" type="checkbox"> A
</label>
<label class="checkbox-inline" for="item_2">
<input name="control_4[]" id="item_2" value="2" type="checkbox"> B
</label>
<label class="checkbox-inline" for="item_3">
<input name="control_4[]" id="item_3" value="3" type="checkbox"> C
</label>
<input type="text" name="try">
如果我选择 item_2 和 3,那么如果 item 3 存在于 control_4 数组中,则输入框需要否则不在输入框中进行验证。
$this->validate($request, [
'control_4' => 'required',
'try' => 'required'
]);
如何在 Laravel 5.5 中进行验证
解决方案
首先,您需要在尝试输入上定义规则,例如:
$this->validate($request, [
'control_4' => 'required',
'try' => 'partialRequired'
]);
然后你必须定义你的 partialRequired 方法的定义:
class customValidation extends Validator
{
public function validatePartialRequired($attribute, $value, $parameters)
{
if(in_array('3',$this->data['control_4']) && empty($value))
{
return false;
}
return true;
}
}
推荐阅读
- git - git 如何在 git repo 中知道它
- vhdl - vhdl 有符号和无符号类型字节序
- python - 在张量流代码中将 xavier 转换为 glorot
- javascript - 试图用玩笑模拟时,表达是未定义的
- stream - 如何在 Java 中的 parallelStream 中收集一对?
- .htaccess - 使用常规表达式将 301 重定向到具有类似编号的其他 url
- java - 我的计时器(scheduleAtFixedRate)不循环
- android - Android Studio Canary Build 卡在 Windows 10 的初始屏幕上
- python - 如何创建一个返回值的异步任务?
- java - 返回数组列表对象java中的列表