var myForm = document.getElementById('myForm'); myForm.addEventListener("submit", submitFunction, false); myForm.noValidate = true; // 자동검사가 꺼져있어야 합니다. function submitFunction(event) { event.preventDefault(); // 전송하지 않기 위해 기본기능을 끔 var msg; var num = myForm.num; var output = document.getElementById("output"); output.innerHTML = ""; if (!num.validity.valid) { // 유효하지 않으면 if (num.validity.rangeOverflow) { // max값 보다 크다면 처리 msg = "300보다 커야 함" // 오류에 따라 따로 메세지를 만들 수 있음 } else if (num.validity.rangeUnderflow) { // min값 보다 크다면 처리 msg = "100보다 커야 함" // 이렇게 처리도 가능함 } else { msg = num.validationMessage; // 기본 메시지로 처리 } } else { msg = "값이 유효함"; } output.innerHTML = msg; }
<div> <form id="myForm"> <input name="num" type="number" min="100" max="300" required /> <input type="submit" value="OK" /> </form> </div> <p> 100 ~ 300 사이의 값을 입력하세요.</p> <p id="output"></p>