Technical Blog Post
Abstract
ICM Data Validation When Adding New Cases
Body
In a previous blog entry I showed how to use ICM 5.2's new coordination mechanism to hook in custom logic when saving and closing any of the transient pages such as step complete.
In this entry, I have modified the example to show how to do the same thing on the Add Case page.
- Add a Script Adapter to your Add Case page and hide it
-
Wire the incoming event for the Script Adapter from the Page Container's Send New Case Information event
var coord = payload.coordination; var caseEdit = payload.caseEditable; var solution = this.solution; var prefix = solution.getPrefix(); require(["icm/base/Constants", "icm/model/properties/controller/ControllerManager"], function(Constants, ControllerManager){ if(coord){ /*Participate in the VALIDATE coordination step*/ coord.participate(Constants.CoordTopic.VALIDATE, function(context, complete, abort){ if(context[Constants.CoordContext.CASE]){ /*Check work item property attribute's value*/ var propId = prefix + '_Description'; /*Retrieve prop value(s) using property controller API*/ var theController = ControllerManager.bind(caseEdit); var propController = theController.getPropertyController(propId); var value = propController.get("value"); /*Unbind is necessary to prevent mem leak.*/ ControllerManager.unbind(caseEdit); if(value === null || value === undefined || value === ""){ /*Abort the page completion with passing a message to user*/ abort({"message":"Please enter a description before adding the case."}); }else{ complete(); } }else{ complete(); } }); } });
For more information on the coordination mechanism, search for coordination in the ICM Javascript API InfoCenter chapters.
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSCTJ4","label":"IBM Case Manager"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
UID
ibm11281292