2014-11-07 2 views
0

지금 양식 검증 작업을하고 있습니다. 오류가 발생하면 제출을 거절합니다. 문제가 어디 있는지 모르겠습니다. 나는 그것이 코드의 정규식 부분 주위에 있다고 생각하지만 확실하지는 않다. 이 유효성 검사 스크립트의 오류는 어디에 있습니까?js 유효성 검사의 오류 위치는 어디입니까

function test_form() 
{ 

    var userName = document.regForm.userName.value; 
    var firstName = document.regForm.firstName.value; 
    var lastName = document.regForm.lastName.value; 
    var email = document.regForm.email.value; 
    var email2 = document.regForm.email2.value; 
    var password = document.regForm.password.value; 
    var password2 = document.regForm.password2.value; 
    var birthDay = document.regForm.birthDay.value; 
    var birthMonth = document.regForm.birthMonth.value; 
    var birthYear = document.regForm.birthYear.value; 
    var tou = document.regForm.tou.checked; 

    var regSpec = /!|@|#|\$|%|-|_|&|\*|\(|\)|\+|\[|\]|\{|\}|:|;|'|"|\||\\|,|<|>|\.|\?|\/|\^/; 
    var regUser = /!|@|#|\$|%|&|\*|\(|\)|\+|\[|\]|\{|\}|:|;|'|"|\||\\|,|<|>|\.|\?|\/|\^/; 

    var error = false; 

    // Test all fields for empty and dob format and tou acceptance 

if(userName === "" || firstName === "" || lastName === "" || email === "" || email2 === ""  || password === "" || password2 === "" || tou == false || birthDay == "--Day--" ||   birthYear == "--Year--" || birthMonth == "--Month--") 
{ 

    error = true; 

} 

    // Test all fields for applicable special characters 

if(firstName.match(regSpec) || lastName.match(regSpec)) 
{ 

    error = true; 

} 


if(userName.match(regUser) || password.match(regUser) || password2.match(regUser)) 
{ 

    error = true; 

} 

// Test emails for format and match 

if(email.indexOf("@") == -1 || email.indexOf(".") == -1 || email2.indexOf("@") == -1 ||  email2.indexOf(".") == -1) 
    { 

    error = true; 

    } 

// Test passwords for match 

if(password != password2) 
{ 

    error = true; 

} 

    // test email for match 

if(email != email2) 
{ 

    error = true; 

} 

// Send 

return error; 


} 
+0

이 기능을 어떻게 사용하고 있습니까? 양식 제출을 중단하려면'false를 반환해야합니다. ' 이 함수가 onsubmit 핸들러로 사용되면 에러가 발생하면 true가 반환되어 양식이 제출됩니다. – OJay

+1

시간과 노력을 절약하고 잘 테스트되고 안정적인 jquery 유효성 검사 플러그인을 사용하십시오 – Yang

+2

또한 유효성 검사를 통과하려면 사용자가 브라우저에서 JavaScript를 사용하지 않도록 설정하는 것이 좋습니다. 서버 쪽에서 항상 데이터의 유효성을 검사해야합니다! – Yang

답변

0

이 기능을 어떻게 사용하고 있습니까? 양식 제출을 중지하려면 false를 반환해야합니다. 이 함수가 onsubmit 핸들러로 사용되면 오류가 발생하면 함수는 true를 반환하여 양식이 제출 될 것임을 알립니다. - OJay 16 분 전

이 코멘트 작성자가 맞았습니다. 내 부울을 noError로 변경하고 오류가 false로 설정되었는지 확인했습니다. 이제 잘됩니다. 그냥 너무 PHP는 유효성 검사를 할 필요 :) 감사.

관련 문제