PRIM_DLG - Validateメソッド
簡単なリポジトリフィールドとテーブル規則を使ってフィールドを検証します
PRIM_DLG (PRIM_DLG) のメンバ
パラメータ
名前 | タイプ | データタイプ | 記述 |
|---|---|---|---|
Valid | *Result (任意) | ブール値 | フィールドが妥当性規則を渡す場合TRUEを返します |
Operation | *Input | 列挙 | フィールド検証の対象となるオペレーション(挿入、更新、削除) |
Table | *Input (任意) | 検証に使用されるテーブル |
詳細
Validate メソッドにより、ファイルやフィールドの規則に対する、ダイアログに含まれるフィールドの検証ができるようになります。
検証処理は、挿入、更新、削除時の検証に利用できます。
valid が FALSE で返された場合、フィールドの HasError プロパティに TRUE が設定されます。
LANSA テーブルに対し検証するには、テーブル名に接頭辞 '#' が必要です。
この Validate メソッドには、複雑なロジックや検索規則は導入されていません。
例
以下の例では、ダイアログ内のフィールドが、 xEmployee テーブルに対して検証されています。
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)
Define_Com Class(#PRIM_TBLO.Column) Name(#Layout1Column1) Parent(#Layout1)
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_DLG) Name(#Dialog) Width(360) Height(600) Layoutmanager(#Layout1) Autoclose(True)
Define_Com Class(#xEmployeeIdentification.EditField) Name(#EmployeeIdentification) Parent(#Dialog) Displayposition(1) Tabposition(1)
Define_Com Class(#xEmployeeSurname.EditField) Name(#EmployeeSurname) Parent(#Dialog) Displayposition(2) Tabposition(1)
Define_Com Class(#xEmployeeGivenNames.EditField) Name(#EmployeeGivenNames) Parent(#Dialog) Displayposition(4) Tabposition(1)
Define_Com Class(#xEmployeeStartDate.DateTimeField) Name(#EmployeeStartDate) Parent(#Dialog) Displayposition(5) Tabposition(1)
Define_Com Class(#prim_md.FlatButton) Name(#ButtonValidate) Parent(#Dialog) Displayposition(5) Tabposition(5) Caption('Validate')
Evtroutine Handling(#COM_OWNER.Initialize)
#Dialog.show
Endroutine
Evtroutine Handling(#ButtonValidate.Click)
#Dialog.Validate( Update #xEmployee )
Endroutine
End_Com