Typically you will call wwBusiness::AddValidationError to add an error to the collection. Once added you can retrieve the errors from the collection directly.
o.oValidationErrors
*** Inside Bus object Validation Code
FUNCTION Validate()
THIS.oValidationErrors.Clear()
IF EMPTY( this.oData.Sku )
THIS.AddValidationError("Sku can't be empty","txtSku")
ENDIF
IF AT(" ",this.oData.Sku) > 0
THIS.AddValidationError("Sku can't contain spaces","txtSku")
ENDIF
IF THIS.oValidationErrors.Count > 0
RETURN .F.
ENDIF
RETURN .T.
*** In app code:
IF !oItem.Validate()
FOR x=1 to oItem.oValidationErrors.Count
loError = oItem.oValidationErrors.Item(x)
? loError.cMessage
ENDFOR
ENDFUNC