У меня есть форма, количество входов которой является гибким в зависимости от количества строк пользователей.
| row | FullName | Phone | Email |
|------------------------------------------ |
| 1 | Alex | 06 | a@a.com |
|------------------------------------------ |
| 2 | Bob | 968 | |
|------------------------------------------ |
| 3 | | | j@j.com |
---------------------------------------------
_____________________
| Add new User Button |
---------------------
Когда заполнен любой ввод каждого пользователя, требуются другие входы этого пользователя.
Например: здесь у нас есть ошибка для строки 2, потому что FullName и Phone заполнены, но Email пусто
или
Ошибка для строки 3, потому что FullName и Phone пусты, но Email заполнено .
Поэтому я пишу правило проверки для этого, как показано ниже:
$validator = Validator::make($request->all(), [
'User.*.FullName' => 'required_with:User.*.Phone | required_with:User.*.Email',
'User.*.Phone' => 'required_with:User.*.FullName | required_with:User.*.Email',
'User.*.Email' => 'required_with:User.*.FullName | required_with:User.*.Phone',
], $this->messages());
Количество входных параметров для каждого пользователя велико, что я перечислил здесь в 3 случаях (FullName, Phone, Email) ).
Если я напишу проверки, как указано выше, код будет грязным. Как провести рефакторинг этого кода или идеи для этого типа проверки?