{% extends "base_login_page.html" %} {% block content %} <form action="/login?redirect={{ redirect_uri }}" method="post" id="reset_password_form"> <div> <p>You need to configure a new password:</p> <p style="color:red" id="err_target"></p> <!-- Needed for controller --> <input type="hidden" name="login" value="."/> <div class="form-floating"> <input name="password" type="password" required class="form-control" id="pass1" placeholder="unsername"/> <label for="pass1">New password</label> </div> <div class="form-floating"> <input type="password" required class="form-control" id="pass2" placeholder="Password"/> <label for="pass2">Confirm new password</label> </div> </div> <button class="w-100 btn btn-lg btn-primary" type="submit">Change password</button> <div style="margin-top: 10px;"> <a href="/logout">Sign out</a> </div> </form> <script> const form = document.getElementById("reset_password_form"); const error_target = document.getElementById("err_target"); form.addEventListener("submit", (e) => { e.preventDefault(); error_target.innerHTML = ""; const pass1 = document.getElementById("pass1"); const pass2 = document.getElementById("pass2"); if (pass1.value.length < {{ min_pass_len }}) error_target.innerHTML = "Your password must have at least {{ min_pass_len }} characters!"; else if (pass1.value !== pass2.value) error_target.innerHTML = "The password and its confirmation are not the same !"; else form.submit(); }) </script> {% endblock content %}