Wie kann ich in Laravel eine benutzerdefinierte Fehlermeldung anzeigen, wenn eines der Kriterien für die PasswortkomplexPhp

PHP-Programmierer chatten hier
Anonymous
 Wie kann ich in Laravel eine benutzerdefinierte Fehlermeldung anzeigen, wenn eines der Kriterien für die Passwortkomplex

Post by Anonymous »

Ich arbeite an einer Blogging-Anwendung in Laravel 8.
Ich habe das Standardverfahren verwendet, das Laravel 8 bereitstellt, um sicherzustellen, dass das Passwort die Komplexitätskriterien erfüllt:
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);
}

Die Absicht besteht darin, die (Validierungs-)Fehlermeldung „Groß- und Kleinbuchstaben, mindestens eine Zahl und ein Symbol einschließen“ anzuzeigen, wenn irgendeines der Komplexitätskriterien vorliegt ist nicht erfüllt.
Ich würde gerne alle Komplexitätskriterien in einer Nachricht „zusammenführen“ können. Statt:
'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'

Ich möchte etwas verwenden können wie:
'password.isComplex' => 'Include uppercase and lowercase letters, at least one number and one symbol'

Aber das Erwartete passiert nicht. Stattdessen werden die Standardmeldungen angezeigt, eine für jedes fehlgeschlagene Kriterium.
Was ist mein Fehler?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post