2011-09-09 3 views
1

태피스트리에서 바이 패스 유효성 검사에 대해 질문하고 싶습니다. 5Tapestry 5 ByPass Validation

제 양식에 유효성 검사가 필요한 필드가 있습니다. 그리고 두 개의 제출 버튼이 있습니다. 하나를 클릭하면 저장 개체에 대한 유효성 검사를 수행합니다. 다른 하나는 양식을 확인 중 또는 아약스 (사용 영역)

감사의 B4하여 세부 객체에 추가에 대한 검증을 통과하지 않아야합니다

+0

클라이언트 측 유효성 검사, 서버 측 유효성 검사 또는 둘 모두를 무시 하시겠습니까? – joostschouten

+0

사실 저는 클라이언트 유효 기간을 봅니다. 하지만 둘 다 내가 알고 싶어하는 해결책이 있다면 – nathan21

답변

2

나는 t:formt:clientvalidation="false"을 설정하여 클라이언트 유효성 검사를 사용하지 않지만, I 다음과 같이 옆에 제출 단추에 취소 버튼을 우회 할 수 있다고 생각 :

<input t:type="submit" t:mode="cancel" value="Cancel" t:id="cancel" /> 
<input t:type="submit" value="Submit" t:id="submit" /> 

component reference for submit에서보세요. 거기에 "SubmitMode # CANCEL은 클라이언트 측 유효성 검사가 생략되어야 함을 나타냅니다 (서버 측 유효성 검사가 여전히 발생하지만)." 따라서 서버 측 유효성 검사를 중지해야합니다. 클라이언트 측에서 자바 스크립트를 사용하여 입력 필드를 사용하지 않도록 노력

private boolean cancelCalled; 

void onSelectedFromSubmit() { 
    cancelCalled = false; 
}  

void onSelectedFromCancel() { 
    cancelCalled = true; 
} 

@OnEvent(component = "theIdOfYourForm", value = EventConstants.VALIDATE) 
private void validateForm() { 
    if(cancelCalled) { 
     newContactForm.clearErrors(); 
    } 
} 
0

: 당신은이 작업을 수행 할 수 있습니다. 그것은 나를 위해 작동합니다. 그리고 joostschouten이 말했듯이 여전히 서버 측 유효성 검사를 우회해야합니다.