|
The DataWindow object can include validation rules derived from DataWindow expressions, but sometimes you want to use more complex logic or you want to reuse standard scripts that are maintained on the server. The HTML DataWindow provides a way to insert additional server-side validation routines into the update and retrieval process.
Where you implement the validation code
Server-side validation requires you to define one or more PowerBuilder custom class user objects called service classes. These service classes are stored in the same PBL or PBD as the DataWindow object for the server component.
The service classes implement user-defined events with prescribed signatures. These events correspond to standard DataWindow events. In the user-defined events, you validate the data and specify return code that tell the server component whether to cancel the corresponding DataWindow event.
In the server component, you set a property or call a method that identifies these user objects as service classes for the server component.
How the validation code is called
Server-side validation works like this:
- Service classes are instantiated when the component is instantiated (if they are specified in a Jaguar property) or when they are first registered by the SetServerServiceClasses method.
- An event occurs in the server component for the DataStore.
- The server component calls an event of the same name in each registered service class.
- If the service class implements the event, the event script is executed and a return code is sent back to the server component.
- If the event can be canceled via a return code and if any of the service classes returns that code, the event is canceled in the server component.

|