2012-07-26 3 views
0

양식과 탭으로 작업 할 때 자주 발생하는 문제는 탭을 전환하기 전에 유지 및 필드의 유효성 검사가 필요하다는 것입니다.Wicket - AjaxTabPanels의 양식 필드

Google 서핑 나는 많은 해결책을 발견했다. 일반적인 해결책은 AjaxTabbedPanel의 NewLink 메소드를 덮어 쓰고 대신 AjaxSubmitLink를 작성하는 것입니다.

위의 해결 방법은 일종의 마법사를 만들기 때문에 약간의 차이가 있습니다.

나는 양식과 임의의 수의 탭이있는 페이지가 있습니다. 모든 탭에는 고유 한 속성 모델 객체가있는 자체 양식이 있습니다. 페이지의 양식은 모든 탭의 모든 필드의 합계를 제출하기위한 제출 양식 만 있습니다.

내가 원하는 것은 페이지 제출만으로 유효성을 검사해야하는 단일 탭 양식 유효성 검사 (그러나 내부 모델이 채워짐)없이 탭간에 전환하는 것입니다. 내부 양식에 필수 필드가있을 수 있으며 내부 양식 유효성 검사가 아닌 최종 제출에서만 점검해야합니다.

이 모든 것이 라이브러리가 없습니다.

가능합니까?

답변

0

#setDefaultFormProcessing (false)로 팅커.

마무리 버튼을 사용하면 현재 표시된 탭에서만 양식 처리가 수행됩니다.

1

그냥 첫 번째 아이디어 : Wizard을 사용하면 어떤 종류의 탭 동작을 조롱해도 될까요?

단계 사이를 이동하는 Ajax 단추가있는 사용자 지정 단추 모음이 필요합니다. 즉,이 단추를 클릭하면 마법사의 내용 만 바뀝니다. 실제 유효성 검사는 onFinish()에서 트리거됩니다. 이렇게하면 전체 프로세스를 효과적으로 제어 할 수 있고 사용자 정의 FeedbackPanel을 표시 할 수도 있습니다.

0

많은 시도 끝에 원하는 것은 WiQuery에서만 사용할 수 있습니다.

setDefaultProcessing을 false로 설정하면 내부 FORM의 유효성을 검사하지 않고 탭 탐색이 가능하지만 결과는 모델이 채워지지 않고 이전 탭으로 돌아 가면 모든 입력이 다시 공백이됩니다.