Wie validiere ich die aktuelle, neue und neue Passwortbestätigung in Laravel 5?

8

Ich habe das Passwort route, view und method in UserController@getProfilePassword und UserController@postProfilePassword

erstellt

Momentan, wenn ich das new_password -Feld ausfülle, wird es gehackt und korrekt an die Datenbank übergeben, dann kann ich mich mit dem neuen Passwort einloggen.

Aber ich muss in der Lage sein, die new_password und new_password_confirm zu validieren, um sicherzustellen, dass sie identisch sind und validiere das aktuelle Passwort des Benutzers.

Wie kann ich das tun?

BEARBEITEN: Ich habe $this->validate zur Methode hinzugefügt, aber jetzt bekomme ich weiterhin den Fehler The password confirmation confirmation does not match. , obwohl sie übereinstimmen, da ich ein einfaches Passwort verwende. Außerdem denke ich, dass ich das aktuelle Passwort manuell überprüfen muss, da validator es nicht für mich tut.

%Vor%

Und das ist die Ansicht

%Vor%     
Halnex 01.06.2016, 00:52
quelle

4 Antworten

28

Es gibt eine Funktion Hash::check() , mit der Sie überprüfen können, ob das alte Passwort korrekt ist oder nicht.

usage

%Vor%

es wird wahr zurückgegeben, wenn das alte Passwort korrekt eingegeben wurde und Sie Ihre Logik entsprechend hinzufügen können

für new_password und new_confirm_password identisch sein, können Sie Ihre Validierung in Formularanforderung wie

hinzufügen %Vor%     
Sid 01.06.2016, 01:24
quelle
3

Sie können confirmed hinzufügen, um das alte Passwort zu bestätigen. Und 'required|confirmed' wechselt zu 'required|same:password' , um password und password confirmation

zu vergleichen

'old_password' => 'required|confirmed', 'password' => 'required|min:4', 'password_confirmation' => 'required|same:password'

Viel Glück!

    
Sanji 27.10.2017 03:48
quelle
0

Sie können dies tun, indem Sie eine benutzerdefinierte Validierungsregel erstellen (für dieses Beispiel verwende ich current_password und new_password als Eingabe-Namen).

Fügen Sie dies in AppServiceProvider::boot() :

ein %Vor%

Jetzt können Sie Folgendes in Ihrem Controller verwenden:

%Vor%     
kjdion84 06.03.2018 20:05
quelle
0

Eine vollständige Funktion, die alles überprüft. Sie müssen nur old_password , new_password und confirm_password senden.

%Vor%     
PHP Worm... 19.03.2018 10:52
quelle

Tags und Links