Custom Client-side Validation

The structure browser component provides the necessary interface to implement custom client-side validation on the editable column cells. You must define the custom JavaScript method call for validating any cell update in a JS or JSP file in the suite-specific directory.

This file must be a pure JavaScript file and should not contain any HTML to JavaScript tags. Only JS variables and methods may be defined in these files.

This file can include a function that refreshes the structure browser. This function is specified using the onReset URL paramater. The function is executed after resetting the values in the edit page, and before refreshing the page.

You can define one or more validation files specific to the structure browser under the suite-specific property in emxSystem.properties.

eServiceSuite<Suite Name>.UIFreezePane.ValidationFile

As an example, for Engineering Central the property is:

eServiceSuiteEngineeringCentral.UIFreezePane.ValidationFile = 
emxEngFormValidation.jsp 

You must configure the method to invoke for validating any cell as the column setting OnChange Handler. Assign it to the method name without parentheses. For example, if the validation method is checkUniqueName(), then add the following setting:

OnChange Handler = checkUniqueName

The system passes the validation routine with an argument[0] that is the value assigned to the new value entered by the user. The validation routine can also leverage the JavaScript APIs (listed in the following section) for getting the details of the related fields in the structure.

The structure browser in edit mode supports client-side custom validation for two different events. It uses these settings: OnChange Handler and ValidateOnApply.

Assign these settings to the JavaScript method name (without parenthesis) and define the method in one of the JavaScript custom validation files.


  • OnChange Handler Validates changes from in-cell editing interface.
  • ValidateOnApply Validates changes upon clicking on the Apply Edit link.

When using the OnChange Handler setting in a structure browser with expanded rows, the change may cascade up the hierarchy requiring changes to other cells. If the structure browser has several levels expanded and/or many columns, the process may take several seconds. A message displays to notify the user that the changes are being processed.