laravel добавить сообщение об ошибке в определенное динамическое поле - PullRequest
0 голосов
/ 07 июня 2018

У меня есть форма с динамическими полями (несколько пользователей динамически добавляются с одной формой)

Я пытаюсь добавить сообщение об ошибке в определенное поле после проверки вручную (с базовым if)

Я пробовал следующее, но ничего из этого не работает

$validator->errors()->add('password.0', 'Les mots de passe ne correspondent pas');

$validator->errors()->add('password.*', 'Les mots de passe ne correspondent pas');

$validator->errors()->add('password[0]', 'Les mots de passe ne correspondent pas');

Я не могу заставить пакет сообщений принимать мое сообщение, и в конце "$ validator-> errors ()" не делаетне содержит сообщение для моего поля пароля [0]

Кто-нибудь знает, как заставить его работать?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Ответ @Masoud хорош, я мог бы заставить его работать с этим конкретным кодом

'password.*' => ['required',
   function($attribute, $value, $fail) {
        $arr_explode_attr = explode(".",$attribute);
        if ($value != request()->input('password_confirmation.'.$arr_explode_attr[1])) {
                        return $fail('Les mots de passe ne correspondent pas');
    }
}];

Спасибо за вашу помощь =)

0 голосов
/ 07 июня 2018

на основе ваших входных данных, которые они являются массивами. Я думаю, что проверка с использованием правил laravel для массива была бы хорошей.вот документация для проверок массива .

что-то вроде:

$validator = Validator::make($request->all(), [
    'password.*' => 'required', // your rules
] , [
'password.*.required' => "your message"
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...