formha/static/h_tmp_user/change_pswd.js

30 lines
1010 B
JavaScript

// import { simpleNotification } from '../comps/notify.js';
import { simpleNotification } from '../z_comps/notify.js';
document.addEventListener('DOMContentLoaded', function () {
const form = document.querySelector('form');
const newPswdInput = document.querySelector('#new_pswd');
const rules = {
lengt10: (pwd) => pwd.length >= 10,
atl1num: (pwd) => /\d/.test(pwd),
atl1mayusc: (pwd) => /[A-Z]/.test(pwd),
atl1chrspe: (pwd) => /[!"#$%&\/()=?¡]/.test(pwd)
};
newPswdInput.addEventListener('input', function () {
const pwd = this.value;
for (let id in rules) {
document.querySelector(`#${id}`).textContent = rules[id](pwd) ? '✅' : '❌';
}
});
form.addEventListener('submit', function (e) {
const pwd = newPswdInput.value;
const valid = Object.values(rules).every(fn => fn(pwd));
if (!valid) {
e.preventDefault();
simpleNotification("Error", "La contraseña no cumple con todos los requisitos indicados.", "error");
}
});
});