문제

3 가지 옵션과 입력 텍스트 테레아가있는 라디오 선택이있는 페이지가 있습니다. 내 페이지에서 제출 버튼을 누르면 유효성 검사를 수행해야합니다 ... 그렇게하려면 라디오에 유효성 검사기를 넣었습니다. 문제는 유효성 검사기가 실행되면 입력 텍스트 텍스트와 라디오의 값이 필요하지만 페이지가 제출되기 전에 페이지에 정의 된 값이 아니라 오래된 값이 제공된다는 것입니다.

예 : string.valueof (textArea.getValue ()). equals ( ""))가 첫 번째로 코드를 합산하면 string.valueof (textAreaocorrencia.getValue ())는 null이지만 TextArea가 비어 있었기 때문에 suped되었습니다. 빈 줄. 두 번째로 제출되면 첫 번째 제출물에서 가져야 할 가치가 있습니다. 나는 이것이 JSF Life Cicle과 관련이 있다는 것을 알고 있지만,이 값을 업데이트하는 방법을 모르겠습니까?

미리 감사드립니다 ...

도움이 되었습니까?

해결책

적용 요청 값 단계에서 제출 된 값이 설정되어 submittedValue. 유효성 검사 단계에서 제출 된 값은 검증 및 변환 및 value. 구성 요소는 구성 요소가 구성 요소 트리에 나타나면 상단 바닥 순서로 검증됩니다.

따라서 문제의 구성 요소가 실제로 나타나면 ~ 후에 구성 요소 트리의 현재 구성 요소는 UIInput#getSubmittedValue() 대신에 UIInput#getValue().

JSF 라이프 사이클에 대해 자세히 알아 보려면 이 자기 연습 기사 유용한.

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