나는 여전히 질문의 핵심은 내가 중복으로 표시 한 질문에 대한 답변을 적용하여 해결해야한다고 생각합니다. 몇 가지 문제를 겪고 있으므로 여기에 몇 가지 지침을 드리겠습니다.
PrimeFaces oncomplete
PrimeFaces는 테스트시 변수를 새로 고치지 않습니다 ...하지만 페이지를 새로 고침하면 정상적으로 작동합니다.
버튼을 클릭하기 전에 분명히 렌더링됩니다. 따라서 oncomplete
속성도 렌더링되었습니다. 그것은 역동적이지 않습니다. 따라서 액션이 호출 될 때 다시 평가되지 않습니다.
일부 JavaScript 호출에서 #{axeBean.formvalide}
에 액세스해야하는 경우 숨겨진 입력 값으로 사용하고 조치를 호출 한 후 입력을 업데이트하십시오. 이제 document.getElementById('hiddenInputsClientId').value
을 사용하여 가져올 수 있습니다.
은 참조 :
나는 내가 oncomplete
속성에서 테스트를 할 때 대화 상자를 표시하는 문제가있다.
validationFailed
을 노출 할 필요가 없습니다. PrimeFaces는 oncomplete
함수에 args
객체를 제공하며 유효성 검사에 실패하면 validationFailed
속성을 포함합니다. 그러니 그냥 사용
oncomplete="if (args && !args.validationFailed) PF('dialog').show()"
은 참조 :
validationFailed
How to display dialog only on complete of a successful form submit
그냥 필요한 클라이언트 측 유효성 검사로 일했다,하지만 난 뒷면에 뭔가를 유효성을 검사 할 ...
행동에 필요한 수표 만하십시오.사용자 정의 유효성 검사가 실패하면, 당신은 얼굴 컨텍스트에서 플래그를 설정할 수 있습니다
FacesContext.getCurrentInstance().validationFailed();
오류 메시지가 설정해야하는 경우는, 사용
여기
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "message", null);
FacesContext.getCurrentInstance().addMessage("clientId", message);
당신이 설정 clientId
로 null
을 사용할 수 있습니다 전역 메시지.
는 OmniFaces를 사용하는 경우, 당신은 단순히 사용할 수 있습니다 또한
Faces.validationFailed();
Messages.addError("clientId", "message");
참조 :
나는 검사가 당신이하고있는 무엇 확실하지 않다 ... 사용자 정의 유효성 검사기를 작성하는 것이 더 나을 수도 있습니다. 참조 :
의
가능한 복제 ([제출 성공적인 형태의 완전한에만 대화 상자를 표시하는 방법] http://stackoverflow.com/questions/16795319/how-to-display- 대화 형 전용 - 완료 - 완료 - 양식 - 제출 완료) –
감사합니다 남자 ...하지만 이것은 jsf 클라이언트 측에서 msg 또는 유효성 검사가 필요할 때 해결되지만 작동하지 않는 메시지를 반환 할 때 해결됩니다 분명히 :) – mogiwara
JSF에 충실하고 메시지 및 validationFailed를 사용합니다 (백킹 빈에서 설정할 수 있습니다). 휠을 재발 명하지 마십시오 ;-) –