ユーザーが6〜20文字の範囲でパスワードを入力できるように制限したい。しかし、以下の機能は正しく機能していません。
function validatePass(pwd1, pwd2)
{
var len = document.getElementById('pwd1').value;
if(len.length < 6 || len.length > 20)
{ pwd1.setCustomValidity('Enter 6-20 characters');
}
else if (pwd1.value != pwd2.value || pwd1.value == '' || pwd2.value == '' )
{
pwd2.setCustomValidity('Password incorrect');
}
else
{
pwd2.setCustomValidity('');
}
}
HTMLコードは次のとおりです。
<h4>Password</h4></td>
<td><input type="password" name="pwd1" size="30" id="pwd1" required placeholder="Enter 6-20 characters"></td></tr>
<tr><td>
<h4>Confirm Password</h4></td>
<td><input type="password" name="pwd2" id="pwd2" size="30" required onfocus="validatePass(document.getElementById('pwd1'), this);" oninput="validatePass(document.getElementById('pwd1'), this);">
</td></tr>