Проверка массива Laravel с помощью пользовательского правила - PullRequest
0 голосов
/ 15 мая 2018

В CustomFormRequest у меня есть что-то вроде этого:

public function rules(): array
{
    return [
        'events' => ['array'],
        'events.*.type' => ['required'],
        'events.*.data' => [app(SomeRule::class)],
    ];
}

SomeRule:

public function passes($attribute, $value): bool
{
    var_dump($attribute);//events.0.data
    var_dump($value);exit;
}

В SomeRule::passes мне нужно иметь доступ к events.X.type (такдля events.5.data мне нужно events.5.type).Есть идеи?

1 Ответ

0 голосов
/ 03 марта 2019

Как прокомментировал пользователь в моем вопросе Проверка массива в Laravel с использованием пользовательского правила с дополнительным параметром , вы можете сделать это с помощью этого кода, в вашем случае это будет что-то вроде

class SomeRule implements Rule
{
    public function passes($attribute, $value)
    {
        $index = explode('.', $attribute)[1];
        $type = request()->input("events.{$index}.type");

        return someConditional ? true : false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...