Startklar in 3 min.

Voraussetzungen

Du benötigst Java ab der Version 8. Hier kannst Du das entsprechende JRE 1.8 herunterladen.

1. Installation

Am besten Du erstellst ein neues Verzeichnis unterhalb deines persönlichen Temp Ordners und lädst die openvalidation.jar in diesen Ordner herunter:

cd %temp%
mkdir openvalidation
cd openvalidation
curl http://download.openvalidation.io/openvalidation.jar

2. Eine Regel erstellen

Ok, jetzt bist Du startklar und kannst Deine erste Validierungsregel in openVALIDATION programmieren. Erstelle dazu eine Datei namens Regeln.ov und füge den folgenden Inhalt ein:

Regeln.ov
WENN die Nachricht ist GLEICH Hallo
DANN Hallo openVALIDATION!

Diese Regel ist so formatiert, dass die Schlüsselwörter und Syntax der openVALIDATION-Sprache am besten darin zu erkennen sind. Du kannst aber auch einfach Wenn die Nachricht gleich Hallo ist dann Hallo openVALIDATION! schreiben und es würde ebenso gut funktionieren.

Neben der eigentlichen Regel benötigst Du noch ein Schema. Das Schema definiert die Datenstruktur des Datensatzes welches validiert werden soll. Du kannst ein einfaches JSON-Objekt verwenden, aus dem dann automatisch ein JSON Schema abgeleitet wird. Unser Schema besteht lediglich aus einem Textfeld namens "Nachricht".

Nachricht: text

3. Code generieren

Da unsere Validierungsregel und das entsprechende Schema bereits feststehen, können wir jetzt den entsprechenden Code generieren.


java -jar openvalidation.jar ^
     -r Regeln.ov ^
     -s "{Nachricht : \"Text\"}" ^
     -l javascript ^
     -o meineRegeln.js ^
     -c de ^
     -f

Parameter

Beschreibung

-r

Über den Parameter Regel wird die eigentliche Validierungsregel entweder direkt oder als Dateiverweis übergeben. In unserem Fall übergeben wir die Datei Regeln.ov

-s

Durch das Schema wird openVALIDATION die Datenstruktur übermittelt

-l

Die zu übersetzende Programmiersprache

-c

Der Culture Code der natürlichen Sprache (de für Deutsch/ en für Englisch)

-o

Output Parameter definiert die Code-Datei. Alternativ kann man auch ein Verzeichnis angeben indem die Code-Dateien nach dem Generierungsvorgang abgelegt werden. Ohne Angabe des Output Parameters wird der generierte Code lediglich in der Console ausgegeben.

-f

Dieser Parameter (--single-file) sorgt dafür, dass der generierte Code in einer Datei erzeugt wird. Normalerweise gibt es zwei Dateien: das Basisframework und die Implementierung der Regeln.

Glückwunsch! Du hast soeben Deine erste Validierungsregel in JavaScript erzeugt. Diese befindet sich in der Datei meineRegeln.js. So sieht das Resultat aus:

...

huml.appendRule("",
     ["Nachricht"],
     "Hallo openVALIDATION!",
     function(model) { return  huml.EQUALS(model.Nachricht, "Hallo");},
     false
);

...

4. Regeln integrieren

Jetzt möchten wir ausprobieren, ob unsere Regel auch funktioniert. Dazu erstellen wir eine Datei namens test.html und fügen den folgenden Code hinzu:

test.html
<html>
  <body>

    <input id="message" />
    <div id="error"></div>

    <script src="meineRegeln.js"></script>
    <script type="text/javascript">

      window.addEventListener('load', (event) => {

        var validator = new HUMLValidator();

        document.getElementById('message').onkeyup = function(e){
            var result = validator.validate({Nachricht:e.target.value});

            if (result.hasErrors)
              document.getElementById('error').textContent = result.errors[0].error;
            else
              document.getElementById('error').textContent = "";
        };
      });

    </script>
  </body>
</html>

Wir rufen die test.html im Browser auf und geben "Hallo" in das Eingabefeld ein:

Wie erwartet, kommt bei der Eingabe des Wertes "Hallo" unsere Fehlermeldung.

5. No-Code Development

Du kannst jetzt die Regeln erweitern, indem Du die Datei Regeln.ov mit weiteren Regeln befüllst und anschließend nochmal den Generierungsprozess mittels openVALIDATION CLI durchführst. Orientiere Dich dazu einfach an den Schritten 2 bis 4.

Das Schöne daran ist, dass die Datei Regeln.ov ab jetzt von einem Fachexperten bearbeitet werden kann, ohne dass er sich mit der Technik auskennen muss! Sobald er die Regeln geändert hat, kann openVALIDATION daraus automatisch Programmcode erzeugen. Das nennen wir No-Code Development.

Wenn Du ein weiteres ausführliches Implementierungsbeispiel ausprobieren möchtest, dann schau doch mal im Bereich Integration nach.

Last updated