Zentrale Validierungsregeln setzen

Beim Speichern eines Datensatzes in GAPTEQ können die Werte der Datenfelder mit Hilfe einer zentral hinterlegten Validierungsregel geprüft werden.

In diesem Artikel lesen Sie folgende Inhalte:

Beispiel - einfache Validierung

Validierungsregeln hinterlegen

1. Beispiel - einfache Validierung

TD_FT_DataLayerValidation_Screenshot_1

Im Beispiel ist eine einfache Validierungsregel zu sehen:

Nach Bestätigung der Checkbox "Temperatur bei kühlpflichtiger Ware" muss im Feld "Temperatur in °C" gezwungenermaßen ein Wert in Grad Celsius eingetragen werden. 

Greift die Validierungsregel "Anforderung: Formularfeld Temperatur darf nicht leer sein, wenn Checkbox aktiviert ist.", wird das Speichern verhindert und eine Messagebox mit der definierten Fehlermeldung wird angezeigt.

TD_FT_DataLayerValidation_Screenshot_3

2. Validierungsregeln hinterlegen

Notiz! Die Validierung im Data Layer hat den Vorteil, dass die Validierungsregeln an zentraler Stelle definiert werden und damit für alle Komponenten gültig sind, die den Data Layer verwenden.

  • Klicken Sie im entsprechenden Data Layer auf "Validation", um das Editor-Fenster zu öffnen.

Tipp! Die Programmiersprache in GAPTEQ Custom Expressions ist JavaScript.

  • Ein Klick auf „Script skeleton“ fügt JavaScript-Code als Grundgerüst für die Validierung ein. So ist die Syntax vorgegeben und es muss nur die Bedingung geschrieben und der Text für die Fehlermeldung angepasst werden.

TD_FT_DataLayerValidation_Screenshot_2-1

Der Editor stellt alle verfügbaren Objekte bereit und ermöglicht ein fehlerfreies Einfügen in den Code. Neben den im Editor bereitgestellten Hilfsfunktionen können sie den kompletten Sprachumfang von JavaScript ohne Einschränkung verwenden.

  • Ein "result.valid = false" gibt an, dass die die Werte nicht valide sind. Die definierte Fehlermeldung wird ausgelöst und der Datensatz wird nicht gespeichert.

Tipp! Das Setzen einer Validierungsregel im Data Layer finden Sie beispielhaft in der GAPTEQ SAMPLE APP Wareneingangskontrolle im Data Layer "tableWareneingangskontrolle" umgesetzt.