2009-03-20 3 views

답변

6

을 , 양식은 제출되지 않습니다.

$('#form').submit(function(){ 
    return validateForm1() 
      && validateForm(document.forms['dpart2']) 
      && validateForm(document.forms['dpart3']);           
       } 
}); 
3

만약 validateForm (...)와 validateForm1() (사실이 유효성 검사 오류가 발생하지 않았 음을 의미) 부울을 반환, 당신은 그 수행하려고 : 함수가 false를 반환하면

$('#form').submit(function(){ 
    if (!validateForm1() || !validateForm(document.forms['dpart2']) || !validateForm(document.forms['dpart3'])) { 
     return false; 
    } 
}); 
7
$('#form').submit(function(){ 
    return (validateForm1() && 
      validateForm(document.forms['dpart2']) && 
      validateForm(document.forms['dpart3'])) 
}); 

는 기본적으로, 이벤트 핸들러 함수에서 false를 돌려줍니다.

3

자동으로 발생하는 생각 : 사용자가 철저한 클라이언트 측 유효성 검사를 구현 했더라도 상상할 수있는 잘못된 요청 데이터를 서버에서받을 수 있습니다.

클라이언트 측 유효성 검사를 통해 서버 측 유효성 검사를 수행 할 필요가 없습니다. 유용성면에서 보너스입니다.

4

다른 해결책은 게으른 실패가있을 것입니다 ... 모든 유효성 검사를 실행하여 모든 오류가 표시되도록하는 것이 좋습니다. 당신의 검증 방법은 실패 할 경우 false를 반환한다는 가정이 있습니다.

$("#myform").submit(function() { 

    var ret = true; 
    ret = validateForm1() && ret; 
    ret = validateForm(document.forms['dpart2']) && ret 
    ret = validateForm(document.forms['dpart3'])) && ret 
    return ret; 

});

이 방법으로 모든 유효성 검사기가 호출되지만 실패의 부울 값은 실패합니다.