Laravel - Как ограничить размер массива, смешанного с 'in' при проверке? - PullRequest
0 голосов
/ 05 апреля 2020

Как ограничить размер массива, чтобы в нем было 2 элемента или 4. не минимум 2 и не максимум 4.

$validity = Validator::make($data, [
    'array',
    // 'between:2,4', this will include 3 too. but I need only 2 and 4.
    // 'in:2,4' something like this
]);

1 Ответ

0 голосов
/ 05 апреля 2020

Вам нужно пользовательское правило, возможно, замыкание, подобное следующему:

https://laravel.com/docs/7.x/validation#using -closures

function ($attribute, $value, $fail) {
    if (!in_array(count($value), [2, 4])) {
        $fail($attribute.' must have either 2 elements or 4.');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...