Как в Laravel отобразить собственное сообщение об ошибке, если какой-либо из критериев сложности пароля не соблюден?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как в Laravel отобразить собственное сообщение об ошибке, если какой-либо из критериев сложности пароля не соблюден?

Сообщение Anonymous »

Я работаю над приложением для ведения блога в Laravel 8.
Я использовал стандартную процедуру, предоставляемую Laravel 8, чтобы убедиться, что пароль соответствует критериям сложности:

Код: Выделить всё

protected function validator(array $data)
{
$rules = [
'first_name' => ['required', 'string', 'max:255'],
'last_name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'confirmed', Password::min(6)->mixedCase()->letters()->numbers()->symbols()],
'password_confirmation' => ['required', 'same:password'],
'accept' => ['accepted'],
];

$messages = [
'first_name.required' => 'The "First name" field is required',
'last_name.required' => 'The "Last name" field is required',
'email.required' => 'Please provide a valid email address',
'email.email' => 'The email address you provided is not valid',
'email.unique' => 'The email address you provided is already in use',
'password.required' => 'A password is required',
'password.mixedcase' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.letters' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.numbers' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.symbol' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'accept.required' => 'You must accept the Terms & conditions of service'
];

return Validator::make($data, $rules, $messages);
}
Намерение состоит в том, чтобы отобразить сообщение об ошибке (проверки) «Включить прописные и строчные буквы, хотя бы одну цифру и один символ», если любой критерий сложности. не выполняется.
Мне бы хотелось иметь возможность «объединить» все критерии сложности в одно сообщение. Вместо:

Код: Выделить всё

'password.mixedcase' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.letters' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.numbers' => 'Include uppercase and lowercase letters, at least one number and one symbol',
'password.symbol' => 'Include uppercase and lowercase letters, at least one number and one symbol'
Я хочу иметь возможность использовать что-то вроде:

Код: Выделить всё

'password.isComplex' => 'Include uppercase and lowercase letters, at least one number and one symbol'
Но ожидаемого не происходит. Вместо этого отображаются стандартные сообщения, по одному для каждого невыполненного критерия.
ОБНОВЛЕНИЕ
Использование

Код: Выделить всё

'password.required' => 'your password required message here',
'password.*' => 'Include uppercase and lowercase letters, at least one number and one symbol'
не работает.
В чем моя ошибка?

Подробнее здесь: https://stackoverflow.com/questions/792 ... sword-comp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»