View - Validate Method

Uses simple repository field and table rules to validate field

Member of View (PRIM_VIEW)

Parameters

Name

Type

Data Type

Description

Valid

*Result (Optional)

Boolean

Returns true if field passes the validation rules

Operation

*Input

Enumeration

The operation for the field to be validated against(insert, update and delete)

Table

*Input (Optional)

PRIM_OBJT

Table to be used for validation

Details

The Validate method allows for fields contained in Dialog to be validated against file and field rules.

The validate operation allows for the validation usage on insert, update and deletion.

If the valid parameter is returned as false the field property HasError will be set to true.

Validating against a LANSA table requires the table name to be prefixed with '#'.

Complex logic and look up rules are not implemented for use in the validate method.

Example

This example shows the fields in the View being validated against the xEmployee table.

     Begin_Com Role(*EXTENDS #PRIM_WEB) Theme(#SYS_THEME) 
        Define_Com Class(#PRIM_TBLO) Name(#Layout1)
Define_Com Class(#PRIM_TBLO.Row) Name(#Layout1Row1) Parent(#Layout1) Displayposition(1)
Define_Com Class(#PRIM_TBLO.Column) Name(#Layout1Column1) Parent(#Layout1) Displayposition(1)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout1Item1) Alignment(TopLeft) Column(#Layout1Column1) Manage(#EmployeeIdentification) Parent(#Layout1) Row(#Layout1Row1) Sizing(FitToWidth) Flow(Down) Marginleft(8) Marginright(8) Margintop(8)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout1Item2) Alignment(TopLeft) Column(#Layout1Column1) Manage(#EmployeeSurname) Parent(#Layout1) Row(#Layout1Row1) Sizing(FitToWidth) Flow(Down) Marginleft(8) Marginright(8) Margintop(8)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout1Item3) Alignment(TopLeft) Column(#Layout1Column1) Manage(#EmployeeGivenNames) Parent(#Layout1) Row(#Layout1Row1) Sizing(FitToWidth) Flow(Down) Marginleft(8) Marginright(8) Margintop(8)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout1Item4) Alignment(TopLeft) Column(#Layout1Column1) Manage(#EmployeeStartDate) Parent(#Layout1) Row(#Layout1Row1) Sizing(FitToWidth) Flow(Down) Marginleft(8) Marginright(8) Margintop(8)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout1Item5) Alignment(TopLeft) Column(#Layout1Column1) Manage(#ButtonValidate) Parent(#Layout1) Row(#Layout1Row1) Sizing(FitToWidth) Flow(Down) Marginleft(8) Marginright(8) Margintop(8)
Define_Com Class(#PRIM_TBLO) Name(#Layout2)
Define_Com Class(#PRIM_TBLO.Row) Name(#Layout2Row1) Displayposition(1) Parent(#Layout2)
Define_Com Class(#PRIM_TBLO.Column) Name(#Layout2Column1) Displayposition(1) Parent(#Layout2)
Define_Com Class(#PRIM_TBLO.Item) Name(#Layout2Item1) Column(#Layout2Column1) Manage(#ViewContainer) Parent(#Layout2) Row(#Layout2Row1)

Define_Com Class(#prim_md.ViewContainer) Name(#ViewContainer) Parent(#COM_OWNER) Displayposition(1) Tabposition(1) Height(800) Width(1200)
Define_Com Class(#PRIM_View) Name(#View) Layoutmanager(#Layout1) Displayposition(1) Parent(#ViewContainer) Height(800) Left(400) Tabposition(1) Width(1200)
Define_Com Class(#xEmployeeIdentification.EditField) Name(#EmployeeIdentification) Parent(#View) Displayposition(1) Tabposition(4) Left(8) Top(8) Width(1184)
Define_Com Class(#xEmployeeSurname.EditField) Name(#EmployeeSurname) Parent(#View) Displayposition(2) Tabposition(3) Left(8) Top(91) Width(1184)
Define_Com Class(#xEmployeeGivenNames.EditField) Name(#EmployeeGivenNames) Parent(#View) Displayposition(3) Tabposition(2) Left(8) Top(174) Width(1184)
Define_Com Class(#xEmployeeStartDate.DateTimeField) Name(#EmployeeStartDate) Parent(#View) Displayposition(4) Tabposition(1) Left(8) Top(257) Width(1184)
Define_Com Class(#prim_md.FlatButton) Name(#ButtonValidate) Parent(#View) Displayposition(5) Tabposition(5) Caption('Validate') Left(8) Top(340) Width(1184)
           Evtroutine Handling(#COM_OWNER.Initialize) 
              #View.show 
           Endroutine 
           Evtroutine Handling(#ButtonValidate.Click) 
              #View.Validate( Update #xEmployee ) 
           Endroutine
     End_Com


See also

All Component Classes

Technical Reference

  • No labels