Требуется валидация нескольких значений Laravel - PullRequest
0 голосов
/ 09 июня 2018

у меня есть 3 столбца в моей таблице;admin_id, server_id и client_id.Требуется только один.Например, если я отправляю admin_id, server_id и client_id не требуются.Или, если я отправляю server_id, client_id и admin_id не требуются.Но я не могу отправить все пустые.Также я не могу отправить client_id и admin_id одновременно или другие возможности.Я должен отправить только один из них.

Как я могу проверить?

$rules = [
    'admin_id'    => 'required|exists:admins,id',
    'server_id '  => 'required|exists:servers,id',
    'client_id '  => 'required|exists:clients,id'
];

Если мне это нужно, я должен отправить их все.Но я просто хочу 1 требуется.

Я хочу проверить;

, если admin_id и server_id пустые;client_id является обязательным.

, если client_id и server_id пустые;admin_id требуется.

, если admin_id и client_id пустые;server_id является обязательным.

1 Ответ

0 голосов
/ 09 июня 2018

Вам может понадобиться required_without_all проверка

$rules = [
    'admin_id'    => 'required_without_all:server_id,client_id|exists:admins,id',
    'server_id '  => 'required_without_all:admin_id,client_id|exists:servers,id',
    'client_id '  => 'required_without_all:server_id,admin_id|exists:clients,id'
];

required_without_all: foo, bar, ...

Поле при проверке должно присутствоватьи не пусто, только когда все другие указанные поля отсутствуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...