Creé una función para indicar cuándo las contraseñas de entrada no coinciden, pero tengo problemas para mostrar el mensaje de verificación de formulario HTML incorporado.
Cuando ejecuto el depurador, veo que se muestra el mensaje personalizado, pero cuando la función finaliza, ese es el mensaje.
¿Alguien sabría por qué el mensaje no persiste?
function validatePassword() { debugger; let p1 = document.getElementById('password'); let p2 = document.getElementById('confirm_password'); p2.setCustomValidity(""); if (p1.value != p2.value && p1.value != '' && p2.value != '') { p2.setCustomValidity("Passwords do not match"); p2.reportValidity(); } } <form> <div> <label for="">Password</label> <input type="password" id='password' onchange='validatePassword()' required> </div> <br> <div> <label for="">Confirm Password</label> <input type="password" id='confirm_password' onchange='validatePassword()' required> </div> <br> <input type="submit" value="Send"> </form>