The field components have Methods, ShowError and ClearError. We will now add logic which uses this feature.

1.  Create a Method routine name Errors. It should have an input Boolean value with the name Clear.

     Your code should look like the following:

     Mthroutine Name(Errors) Access(*PRIVATE)
     Define_Map For(*INPUT) Class(#PRIM_BOLN) Name(#Clear)
     Endroutine 

     The Define_Map statement defines a parameter For() *input, *output or *both.

2.  When Clear is True, invoke ClearError for the input fields. Otherwise, invoke ShowError for each input field.

     Your code should look like the following:

     Mthroutine Name(Errors) Access(*PRIVATE)
     Define_Map For(*INPUT) Class(#PRIM_BOLN) Name(#Clear)
     If Cond(#clear)
     #xDepartmentCode.ClearError
     #xDepartmentDescription.ClearError
     Else
     #xDepartmentCode.ShowError
     #xDepartmentDescription.ShowError
     Endif
     Endroutine

3.  Add code to the Save method to invoke the Errors routine.

     Your code should look like the following:

     Mthroutine Name(Save)
     Define_Com Class(#iiixDepartmentsDataServer.Save) Name(#SaveDepartment)
     #SaveDepartment.executeasync( #xDepartments #io£sts )
     Evtroutine Handling(#SaveDepartment.Completed)
     If (#IO£STS = OK)
     #xDepartments := *default
     #COM_OWNER.Errors( True )
     Else
     #COM_OWNER.Errors( False )
     Endif
     Endroutine
     Endroutine

4.  Compile and test your web page. When you try to Save a record with a blank description, the fields should be highlighted as shown:

5.  Add a description and Save again. The fields should be cleared and return to their normal appearance.

     You will handle error messages in a later step.