문제

JSF에서 JSF의 유효성 검사 프레임 워크 (일명 유효성 검사기, 즉각적인, 요구 등)를 사용하여 다음 유효성 검사 / 업데이트 시나리오를 해결할 수 있습니까?

+-- Form ----------------------------------------------------+
|                                                            |
| Field A: |____________|v|                                  |
| Field B: |____________|v|                                  |
| Field C: |____________|v| Button: [Update C using A and B] |
| Field D: |____________|v| Button: [Update D using B and C] |
|                                                            |
| More Fields: ...                                           |
|                                                            |
| Button : [Submit All]                                      |
+------------------------------------------------------------+

모든 필드가 드롭 다운이고 [업데이트 C] 버튼을 누르면 A, B 및 C 만 유효성을 유지하지만 나머지는 유효하지 않으면 [업데이트 D] 버튼을 누르면 필드 B, C 및 D가 유효성을 유지하고 누르도록합니다. [모두 제출] 버튼으로 인해 모든 필드가 검증됩니다.

도움이 되었습니까?

해결책

기술적으로, 그렇습니다. 유효성 검사기/즉시이를 수행 할 수 있습니다. 그러나 특히 간단하지 않습니다.

유효성 검사기를 추가하면 논리가 들어 있습니다 A와 B를 사용하여 C 업데이트 모든 유효성 검사기가 통과하거나 즉각적인 속성이 True로 설정된 경우에만 실행됩니다. 즉각적인 속성이 true로 설정된 경우 버튼 로직은 제출 된 구성 요소 값을 읽을 수 없습니다. getValue 또는 구성 요소가 바인딩되는 객체; 사용해야합니다 GetSubmittedValue (나쁜 생각).

더 나은 접근 방식은 모든 컨트롤이 묶인 관리되는 Bean에서 검증 로직을 수행하는 것입니다. 버튼에 묶인 메소드에 유효성 검사 로직을 넣을 수 있습니다. 사용 모두 제출 데이터베이스/Persistence Store/무엇이든 검증 된 데이터를 저장하는 버튼.

다른 팁

나는 보통 Ajax와 비슷한 일을하고 있는데, 여기서 관심있는 부품을 서버에 제출하고, 검증/처리하고, 결과를 페이지로 반환 할 것입니다. 반면에, 그것은 JSF의 완전한 우회이며 검증 메커니즘이므로 실제로 가장 똑똑한 / 최적의 솔루션이 아니라고 생각합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top