Data Binding Tutorial - 11 Validation Using the Message Manager

홍종화·2021년 10월 30일
0

databinding

목록 보기
11/16

📌 개요

지금까지, 우리는 그 자체를 올바르게 포맷할 수 있는 currency field를 만들었다.
currency data type은 사용자 입력이 currency의 요구 사항을 준수하는지 검증할 수도 있지만,
data type validation function은 SAPUI5에 의해 관리되며, data type validation type은 자체적으로 오류 메시지를 UI에 다시 보고하는 메커니즘이 없기 때문에
validation function에 의해 제기된 오류 메시지를 UI에 다시 사용자에게 보여주는 메커니즘이 필요하다. (이전 챕터에서 manifest.json 에서 "handleValidation": true를 추가해준것이다.) 이번 챕터에서는 다른 방식으로 해보자.
여기서 전체 view를 'Message Manager'로 알려진 기능에 연결한다.
이 연결이 설정되면 사용자 입력에 따라 생성된 validation 오류 메시지가 message manager에게 전달되고 message manager는 오류를 발생시킨 적절한 view 및 control에 해당 메시지를 연결한다.

📌 예제

  • MainView.controller.js
    onInit: function() {
    		 const oView = this.getView();
    		 sap.ui.getCore().getMessageManager().registerObject(oView, true);
    		 // ...
    }
  • view 객체를 MessageManage에 등록한다.
  • 일단 등록되면 XML view가 이전과 같이 DOM에 들어간다.

이제 Sales Amount 필드에 숫자가 아닌 값을 입력하고 Enter 키를 누르거나 포커스를 다른 UI 컨트롤로 이동할 수 있다.
이 작업은 onenter나 onchange 이벤트를 트리거한 다음 SAPUI5는 sap.ui.model.type.Currency data type에 속하는 validation function을 실행한다.

이제 view가 MessageManager에 등록되었으므로, validation error message는 MessageManager에 의해 선택될 것이며,
MessageManager는 차례로 등록된 객체 목록을 확인하고 나서 오류 메시지를 다시 view로 전달하여 사용자에게 보여준다.

🔗 참조

profile
coding everywhere

0개의 댓글