π Confirm password νΌ μ½κ² ꡬννκΈ°

λΉλ°λ²νΈ μ¬νμΈ κΈ°λ₯ ꡬν
λ input μ λ ₯ νκ·Έμ°½μ΄ μκ³ , μ΄ λ inputμ°½μ κ°(λΉλ°λ²νΈ)κ° κ°μμΌ submitμ΄ λκ² μ²λ¦¬ν κ²½μ°, ꡬννλ λ°©λ²μ μλ°μ€ν¬λ¦½νΈμ cssλ‘ νλμ½λ©νκ±°λ λ± μ¬λ¬κ°μ§κ° μ‘΄μ¬νλ€.
κ·Έμ€, μ΄λ²μκ°μλ setCustomValidity() λ₯Ό ν΅ν΄ κ°λ¨νκ² Confirm passwordλ₯Ό ꡬνν΄λ³΄λ μκ°μ κ°μ Έλ³΄κ² λ€.
setCustomValidity
HTMLObjectElement μΈν°νμ΄μ€ μ setCustomValidity() λ©μλ λ μμμ λν μ¬μ©μ μ μ μ ν¨μ± λ©μμ§λ₯Ό μ€μ νλ€.
μλμ¬μ§μμ λ³Όμ μλ―μ΄ input νμ μ μ μ νμ§ μλ κ°μ λ£μμλ λΈλΌμ°μ μμ λμ°λ λλν λ§νμ μ λ΄μ©μ μ€μ ν΄ μ€μ μλ€.

λ¨, μ€λ₯λ©μΈμ§ λ§νμ μ λ΄μ©μ apiλ₯Ό ν΅ν΄ μ€μ ν΄μ£Όκ² λλ©΄, μ€λ₯ λ©μμ§κ° λΉμ΄ μμ§ μμ ν μμμ μ ν¨μ± κ²μ¬λ₯Ό ν΅κ³Όνμ§ μκ³ μ μΆλμ§ μλ λ€λ νΉμ§μ΄ μλλ°, μ΄λ₯Ό μ΄μ©ν΄ λΉλ°λ²νΈ μ¬νμΈ λ‘μ§μ κ°λ¨νκ² κ΅¬νν μ μλ€.
<form class="pure-form">
<fieldset>
<legend>Confirm password with HTML5</legend>
<input type="password" placeholder="Password" id="password" required>
<input type="password" placeholder="Confirm Password" id="confirm_password" required>
<button type="submit" class="pure-button pure-button-primary">Confirm</button>
</fieldset>
</form>
var password = document.getElementById("password")
,confirm_password = document.getElementById("confirm_password");
function validatePassword(){
if(password.value != confirm_password.value) { // λ§μΌ λ μΈν νλκ°μ΄ κ°μ§ μμ κ²½μ°
// setCustomValidityμ κ°μ μ§μ ν΄ λ¬΄μ‘°κ±΄ κ²½κ³ νμκ° λκ² νκ³
confirm_password.setCustomValidity("Passwords Don't Match");
}
else { // λ§μΌ λ μΈν νλκ°μ΄ κ°μ κ²½μ°
// μ€λ₯κ° μμΌλ©΄ λ©μμ§λ₯Ό λΉ λ¬Έμμ΄λ‘ μ€μ ν΄μΌνλ€. μ€λ₯ λ©μμ§κ° λΉμ΄ μμ§ μμ ν μμμ μ ν¨μ± κ²μ¬λ₯Ό ν΅κ³Όνμ§ μκ³ μ μΆλμ§ μλλ€.
// λ°λΌμ λΉκ°μ μ£Όμ΄ submit μ²λ¦¬λκ² νλ€
confirm_password.setCustomValidity('');
}
}
password.onchange = validatePassword;
confirm_password.onkeyup = validatePassword;
See the Pen Confirm PWD by barzz12 (@inpaSkyrim) on CodePen.