В моем приложении у меня есть файл запроса, как показано ниже:
storeFactoryUser.php
public function rules()
{
return [
'factory_users' => 'array',
'factory_users.*.first_name' => 'required',
'factory_users.*.last_name' => 'required',
'factory_users.*.username' => 'required|alpha_dash|unique:users,username',
'factory_users.*.f_user_email' => 'required|unique:users,email',
'factory_users.*.external_ref' => 'required'
];
}
Теперь, когда я ввожу уже существующее имя пользователя, он возвращает сообщение об ошибке, как показано ниже:
The factory_users.1.username has already been taken.
Вместо того, чтобы отображать его, как указано выше, мне нужно отобразить его со значением массива, например:
Given factory user's username factory1 has already been taken.
Для этого я написал функцию сообщения, как показано ниже:
public function messages()
{
$messages = [];
foreach ($this->factory_users as $key => $factory_user) {
$messages['factory_users.*.username.alpha_dash|unique:users,username'] = "Given factory user's username ".$factory_user['username'].' has already been taken.';
}
return $messages;
}
Но тем не менее, он возвращает то же сообщение об ошибке, о котором я упоминал выше.