【问题标题】:Laravel validation rules: checking against input array indexLaravel 验证规则:检查输入数组索引
【发布时间】:2021-05-12 19:21:27
【问题描述】:

在我的表单中,用户可以添加(或删除)许可证项目 生成为输入嵌套数组:

<div>
    <select name="licences[0][type]">
        <option value="">- Select -</option>
        <option value="car">Car</option>
        <option value="motorbike">Motorbike</option>
    </select>

    <input type="text" name="licences[0][car_spec]"  value="">
    <input type="text" name="licences[0][motorbike_spec]"  value="">
</div>

<div>
    <select name="licences[1][type]">
        <option value="">- Select -</option>
        <option value="car">Car</option>
        <option value="motorbike">Motorbike</option>
    </select>

    <input type="text" name="licences[1][car_spec]"  value="">
    <input type="text" name="licences[1][motorbike_spec]"  value="">
</div>

...

这是我的规则:

$rules = [
    'licences.*.type' => 'required',
    'licences.*.car_spec' => 'required_if:licences.*.type|car',
    'licences.*.motorbike_spec' => 'required_if:licences.*.type|motorbike',
];

现在如何确保验证与许可数组的相同索引 (*) 匹配?
例如,licences[1][car_spec] 输入是根据licences[1][type] 输入而不是licences[0][type] 进行检查的。

【问题讨论】:

    标签: laravel validation


    【解决方案1】:

    试试这个:

    public function validation(){
        $rules = [
            'licences.*.type' => 'required',
            'licences.*.car_spec' => 'required_if:licences.*.type|car',
            'licences.*.motorbike_spec' => 'required_if:licences.*.type|motorbike',
        ];
         foreach($this->request->get('licences') as $key => $value){
             $rules['licences.'.$key.'.type'] = 'required';
             $rules['licences.'.$key.'.car_spec'] = 'required_if:licences.*.type|car';
             $rules['licences.'.$key.'.motorbike_spec'] = 'required_if:licences.*.type|motorbike';
         }
        return $rules;
    }
    

    我希望这对你有用。

    【讨论】:

      猜你喜欢
      • 2017-07-09
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 2014-09-20
      相关资源
      最近更新 更多