% if (my $invalid = stash('invalid')) {
% if ($invalid eq 'csrf') { Ungültiger CSRF-Token

Sind Cookies aktiviert? Ansonsten könnte es sich um einen Fall von CSRF handeln.

% } % elsif ($invalid eq 'password_notequal') { Passwort ungültig

Die angegebenen neuen Passwörter sind nicht identisch.

% } % elsif ($invalid eq 'password_short') { Passwort zu kurz

Das neue Passwort muss mindestens acht Zeichen lang sein.

% } % elsif ($invalid eq 'password') { Ungültiges Passwort

Das aktuelle Passwort wurde nicht korrekt eingegeben.

% } % else { Unbekannter Fehler

„<%= $invalid %>“

% }
% }

Passwort ändern

%= form_for '/change_password' => (method => 'POST') => begin %= csrf_field
lock %= password_field 'oldpw', id => 'oldpassword', class => 'validate', required => undef, autocomplete => 'current-password'
lock %= password_field 'newpw', id => 'password', class => 'validate', required => undef, minlength => 8, autocomplete => 'new-password'
lock %= password_field 'newpw2', id => 'password2', class => 'validate', required => undef, minlength => 8, autocomplete => 'new-password'
%= end