% 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.

% } % else { Unbekannter Fehler

„<%= $invalid %>“

% }
% }

Neues Passwort eintragen

%= form_for '/recover' => (method => 'POST') => begin %= csrf_field %= hidden_field 'id' => param('id') %= hidden_field 'token' => param('token')
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