Laravel Проверка элементов массива - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу проверить это поле audition_dates до shoot_dates.

Я знаю, что могу передать эти правила для проверки массива:

public function store(Request $request)
{
    $validatedData = $request->validate([
      'shoot_dates' => 'array',
      'shoot_dates.*' => 'date',
      'audition_dates' => 'array',
      'audition_dates.*' => 'date'
    ]);

    // The request is valid...
}

Я знаю эти проверки существуют правила:

$rules = [
 'start_date' => 'after:tomorrow',
 'end_date' => 'after:start_date'
];

Но я не знаю, как реализовать их в массиве.

Ответы [ 2 ]

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

Я нашел решение.

[
  'audition_dates'   => 'required|array',
  'audition_dates.*' => 'date|after:tomorrow',
  'shoot_dates'      => 'required|array',
  'shoot_dates.*'    => 'date|after:audition_dates.*',
];
0 голосов
/ 24 апреля 2020

Что касается вашего кода, а также как указано в Laravel Документация :

Validator::make($request->all(), $rules)->validate();

Мы помещаем это в начале нашей функции. Вы можете прочитать больше о том, как создавать правила, по ссылке на документацию, которую я предоставил.

Для проверки до даты вы должны go:

'audition_dates' =>'required|date|before:date'

Дата должна соответствовать strtotime , если вы хотите проверить другие поля, это может быть:

'audition_dates' => 'required|date|before:shoot_dates'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...