데이터를 제출하기 전에 유효성 검사 스크립트가있는 양식을 작성 중입니다.요소의 색상을 기반으로 양식의 유효성을 검사하는 것이 좋습니다.
기본적으로 모든 입력 필드에는 'onchange'이벤트에 의해 트리거 된 입력 내용이 올바른지 테스트 할 수있는 함수가 있습니다. 내용이 '유효하지 않은'경우 함수는 해당 입력 필드의 배경을 빨간색으로 설정합니다.
function looseColorQty(t)
{
var n = t.value;
if(isNaN(n) == true || n < 0){
t.style.backgroundColor="red";
} else {
t.style.backgroundColor="";
}
}
그런 다음 사용자가 버튼을 클릭 '제출'할 때,이 양식은 입력 필드 중 하나가 '빨간색'인 경우 기반으로 제출 할 수 있는지 확인하기 위해 다른 스크립트가있다.
var canNotSubmit = 0;
function checkError(){
var fieldsToCheck = document.getElementsByTagName("input");
var fieldsQty = fieldsToCheck.length;
for(var i=0; i<fieldsQty; i++){
var checkTarget = fieldsToCheck[i].style.backgroundColor;
if(checkTarget == "red"){
document.getElementById("tips").className = "tipError";
document.getElementById("tips").innerHTML = "Please correct all RED fields before you submit.";
canNotSubmit = 1;
return;
}
}
}
실제로 작동하지만이 유효성 검사가 색상을 기반으로한다는 이상한 느낌이 들었습니다. 나는 점을 찍어서 어떤 결점이 있는지 알고 싶다.
붉은 색은 아무 의미가 있기 때문에 모범 사례는 아닙니다. 'checkError()'를 사용하는 것이 두 가지 일을하는 것이 더 낫습니다. 1. 요소에 빨간색을 표시해야합니다. 2. 루프에서 numErrors (오류가 발견 될 때마다 카운트하는 새 변수)를 추적해야합니다). 그런 다음'numErrors'를 사용하여 양식이 유효한 지 여부를 결정해야합니다. 미묘한 차이점이 있지만, 나중에 애플리케이션을 더 쉽게 유지할 수 있습니다. –
서버 측 유효성 검사가 유효하다면 믿을 수 있습니다. 단지 위조 방지를 위해 사용자가 – Luke