validator메시지의 다국어 사용관련 추가문의
- 작성자 :
- 양*유
- 작성일 :
- 2018-06-21 14:36:47
- 조회수 :
- 1,683
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
validator 다국어 관련 추가질문드립니다.
아래에 이전질문내용 및 답변내용 추가하였습니다.
전자정부 3.7의 50종 공통컴포넌트로 템플릿 프로젝트 생성하면
src/main/resources/egovframework/message/message-common_ko.properties에 보면 다음과 같은 메시지가 존재합니다.
errors.required={0}은(는) 필수 입력값입니다.
그리고 src/main/resources/egovframework/validator/validator-rules.xml에 보면 해당메시지를 사용하구요
errors.required 메시지에서 중괄호 안에 들어가는 값을 input 파라미터로 받아 최종 메시지를 출력하게 되는데
input파라미터를 전달해주는 대상은
각 업무영역에 있는 xml파일의(예시 validator/com/sec/ram/EgovSecurityManage.xml) argo key="권한 코드" 값을 전달해서
즉 파라미터를 argo key값인 "권한 코드"를 오류메시지 출력값의 파라미터로 전달해서
"권한 코드"은(는) 필수 입력값입니다. 로 사용자에게 출력하는 것으로 알고있습니다.
제가 궁금한것은 다국어지원을 위해 파라미터로 전달되는 "권한 코드"값을 영문으로 변경하는
방법이 전자정부프레임워크에서 처리하는 방법이 있는지 궁금합니다.
각 업무영역의 xml파일을 한글과 영문버전 두개로 만드는 방법은 근본적인 해결점이 아닌듯 생각되어 질문드립니다.
수고하세요~^^
<formset>
<form name="authorManage">
<field property="authorCode" depends="required, maxlength">
----> <arg0 key="권한 코드" resource="false"/>
<arg1 key="30" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>30</var-value>
</var>
</field>
####################################################################################
[이전질문내용 및 답변내용]
전자정부에서 client-side/server-side validator를 사용하고있습니다.
사용환경은 3.7버전의 validator를 사용중입니다.
locale을 영어로 설정할 경우 첨부한 이미지에서의 빨간색부분 한글(권한 코드)이 form submit시 client-side validator로인해
미입력시 한글명으로 출력이 됩니다.
context-validator에서 서비스 로딩시 영문 validator파일과 한글 validator파일을 분리해서 가져오는 방법을
잠깐 생각해봤는데 근본적인 해결점은 아니듯하여,
혹시 이러한 상황에서 어떻게 처리할 수 있는지 문의 드립니다.
수고하세요.~^^
>>>>>>>>>기존 답변
안녕하십니까, 표준프레임워크센터입니다.
개선된 50종 공통컴포넌트에 들어가시면
소스 메인 리소스 쪽에
밸리데이터 key값과 message의 각 폴더별 key 값이 일치해서
Validation을 다국어로 처리하는 예제가 확인 가능하십니다.
참고하시면 도움이 되실 것 같습니다.
감사합니다.
validator 다국어 관련 추가질문드립니다.
아래에 이전질문내용 및 답변내용 추가하였습니다.
전자정부 3.7의 50종 공통컴포넌트로 템플릿 프로젝트 생성하면
src/main/resources/egovframework/message/message-common_ko.properties에 보면 다음과 같은 메시지가 존재합니다.
errors.required={0}은(는) 필수 입력값입니다.
그리고 src/main/resources/egovframework/validator/validator-rules.xml에 보면 해당메시지를 사용하구요
errors.required 메시지에서 중괄호 안에 들어가는 값을 input 파라미터로 받아 최종 메시지를 출력하게 되는데
input파라미터를 전달해주는 대상은
각 업무영역에 있는 xml파일의(예시 validator/com/sec/ram/EgovSecurityManage.xml) argo key="권한 코드" 값을 전달해서
즉 파라미터를 argo key값인 "권한 코드"를 오류메시지 출력값의 파라미터로 전달해서
"권한 코드"은(는) 필수 입력값입니다. 로 사용자에게 출력하는 것으로 알고있습니다.
제가 궁금한것은 다국어지원을 위해 파라미터로 전달되는 "권한 코드"값을 영문으로 변경하는
방법이 전자정부프레임워크에서 처리하는 방법이 있는지 궁금합니다.
각 업무영역의 xml파일을 한글과 영문버전 두개로 만드는 방법은 근본적인 해결점이 아닌듯 생각되어 질문드립니다.
수고하세요~^^
<formset>
<form name="authorManage">
<field property="authorCode" depends="required, maxlength">
----> <arg0 key="권한 코드" resource="false"/>
<arg1 key="30" resource="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>30</var-value>
</var>
</field>
####################################################################################
[이전질문내용 및 답변내용]
전자정부에서 client-side/server-side validator를 사용하고있습니다.
사용환경은 3.7버전의 validator를 사용중입니다.
locale을 영어로 설정할 경우 첨부한 이미지에서의 빨간색부분 한글(권한 코드)이 form submit시 client-side validator로인해
미입력시 한글명으로 출력이 됩니다.
context-validator에서 서비스 로딩시 영문 validator파일과 한글 validator파일을 분리해서 가져오는 방법을
잠깐 생각해봤는데 근본적인 해결점은 아니듯하여,
혹시 이러한 상황에서 어떻게 처리할 수 있는지 문의 드립니다.
수고하세요.~^^
>>>>>>>>>기존 답변
안녕하십니까, 표준프레임워크센터입니다.
개선된 50종 공통컴포넌트에 들어가시면
소스 메인 리소스 쪽에
밸리데이터 key값과 message의 각 폴더별 key 값이 일치해서
Validation을 다국어로 처리하는 예제가 확인 가능하십니다.
참고하시면 도움이 되실 것 같습니다.
감사합니다.
A
안녕하십니까, 표준프레임워크센터입니다.
앞에서 답변 드렸던 내용에 대해 예제를 다시 말씀드리겠습니다.
개선 50종을 보시면 표준프레임워크는 validator에 argo key 값에 메세지를 넣어서 validator 로 뿌릴 때 메세지에 대한 키 값을
property service가 로케일 서비스로 각 언어별로 분리된 properties 파일이 화면에서 메세지를 언어별로 제공 하도록 하고 있습니다.
예제:
egovframe 3.7 공통컴포넌트 중
/egovframework/validator/com/uss/olp/qrm/EgovQustnrRespondManage.xml
에 정의된 성별 comUssOlpQrm.regist.sexdstnCode 의 key 값을
/egovframework/message/com/uss/olp/qrm/message_en.properties
/egovframework/message/com/uss/olp/qrm/message_ko.properties
에서 comUssOlpQrm.regist.sexdstnCode를 각각 처리하는 걸 보시면 될 것 같습니다.
다면 현재 진행 중인 EgovSecurityManage.xml의 "권한코드" 부분을 메세지로 바꾼 후 패키지에 맞게 properties로 분리해서
언어를 사용하시면 될 것 같습니다. 적용 시 두 properties 메세지에 key 값은 사용되는 언어에 모두 선언이 되야하는 점
주의하시면 될 것 같습니다.
감사합니다.
앞에서 답변 드렸던 내용에 대해 예제를 다시 말씀드리겠습니다.
개선 50종을 보시면 표준프레임워크는 validator에 argo key 값에 메세지를 넣어서 validator 로 뿌릴 때 메세지에 대한 키 값을
property service가 로케일 서비스로 각 언어별로 분리된 properties 파일이 화면에서 메세지를 언어별로 제공 하도록 하고 있습니다.
예제:
egovframe 3.7 공통컴포넌트 중
/egovframework/validator/com/uss/olp/qrm/EgovQustnrRespondManage.xml
에 정의된 성별 comUssOlpQrm.regist.sexdstnCode 의 key 값을
/egovframework/message/com/uss/olp/qrm/message_en.properties
/egovframework/message/com/uss/olp/qrm/message_ko.properties
에서 comUssOlpQrm.regist.sexdstnCode를 각각 처리하는 걸 보시면 될 것 같습니다.
다면 현재 진행 중인 EgovSecurityManage.xml의 "권한코드" 부분을 메세지로 바꾼 후 패키지에 맞게 properties로 분리해서
언어를 사용하시면 될 것 같습니다. 적용 시 두 properties 메세지에 key 값은 사용되는 언어에 모두 선언이 되야하는 점
주의하시면 될 것 같습니다.
감사합니다.