При определении валидации для, скажем, элементов формы, имеющих одинаковое имя массива, мы используем подстановочный знак (*) с точечной нотацией
Допустим, у вас есть форма, как показано:
<input type="text" name="client_type[]" class="form-control" value="Panelist" readonly>
<input type="number" name="commission_percentage[]" class="form-control">
<input type="text" name="client_type[]" class="form-control" value="Non Panelist" readonly>
<input type="number" name="commission_percentage[]" class="form-control">
Чтобы проверить поле commission_percentage
, мы сделаем это в классе запроса формы:
public function rules()
{
$rules = [];
$rules['commission_percentage.*'] = 'required';
return $rules;
}
Из приведенной выше формы, отправка ее в пустом виде приведет к появлению следующего сообщения об ошибке проверки:
The commission_percentage.0 field is required.
The commission_percentage.1 field is required
Сообщение об ошибке проверки будет повторяться дважды, поскольку массив commission_percentage
из формы имеет 2 значения. Теперь представьте случай, когда массив имеет несколько значений, сообщение об ошибке проверки будет повторяться каждый раз!
Так что вопрос: есть ли обходной путь для этого, чтобы вместо повторяющегося сообщения об ошибке валидации n
количество раз, у нас было одно сообщение об ошибке валидации, которое будет выводиться и представлять все элементы в одном массиве
Спасибо.