Что это означает в ларавеле?

Здравствуйте, может кто-нибудь подскажет, в чем смысл этой проверки? особенно "*".

$rules = [
          'user.*.username' => 'required|distinct',

];
$message = [
          'user.*.username.required' => 'Username name is required.'
];

$this->validate($request, $rules, $message);

Это для проверочных массивов. Подробнее об этом можно прочитать в документации.

Magnus Eriksson 08.08.2018 13:18

'*' для каждого значения массива. 'user.*.username' => 'required|distinct', будет проверять, что каждое имя пользователя в массиве пользователей является обязательным и отличным

Mayuri Pansuriya 08.08.2018 13:20

Спасибо @MagnusEriksson.

TrickStar 08.08.2018 13:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
906
2

Ответы 2

$ this - текущая ссылка на класс, в котором используется свойство ValidatesRequests, в котором присутствует validate (). Ref. Laravel 5.1 В laravel 5.6 вам не нужно $ this.

Здесь * означает все. Что я имею в виду под всем?

В запросе идет массив пользователей, например:

$user = [
  [
    'username' => 'user1',
    //... other fields
  ],
  [
    'username' => 'user2',
    //... other fields
  ],
  //... so on
];

Так,

'user.*.username' => 'required|distinct',

означает, что username пользователей все этого пользовательского массива (в запросе) является обязательным и отличным. Вы можете рассматривать это как умный и динамичный способ сделать следующее:

'user.0.username' => 'required|distinct',
'user.1.username' => 'required|distinct',
//... so on

Другие вопросы по теме