Das WENN - DANN - Konstrukt definiert die Bedingung und die Aktion jeder Regel.
Jede Bedingung muss ein Schlüsselwort enthalten.
WENN das Eigenkapital des Person KLEINER 30000 € istDANN darf der Kredit nicht vergeben werden
Eigenkapital:25000
{ Eigenkapital:25000}
WENN der Standort des Unternehmens ist NICHT MünchenDANN ist eine Geschäftsbeziehung schwierig
Standort:Dortmund
{ Standort:"Dortmund"}
Alternativer Regelausdruck
Alternative Regelausdrücke beinhalten immer die Indikator - Schlüsselwörter. Die Bedingung in so einem Ausdruck enthält eine Implizite Negation!
das Alter des Antragstellers DARF NICHT KLEINER 18 sein
Alter:17
{ Alter:17}
das Alter des Versicherungsnehmers MUSS MINDESTENS 18 sein
Alter:16
{ Alter:16}
der Wohnort der Person SOLL Deutschland sein
Wohnort:USA
{ Wohnort:"USA"}
Implizite Bedingung
Für Wahrheitswerte können implizite Bedingungen genutzt werden.
der Vetrag MUSS unterschrieben sein
unterschrieben:false
{ unterschrieben:false}
Multiple Bedingungen
UND
WENN das Alter des Bewerbers GRÖßER 70 istUND sein Wohnort ist NICHT DortmundDANN Sie dürfen nicht älter als 70 sein und müssen aus Dortmund kommen
Wohnort:BerlinAlter:18
{ Wohnort:"Berlin", Alter:18}
das Alter des Bewerbers DARF NICHT KLEINER 25 seinUND sein Beruf MUSS Berater sein
Alter:18Beruf:Berater
{ Alter:18, Beruf:"Berater"}
der Bewerber DARF KEIN Student seinUND sein Alter MUSS MINDESTENS 25 Jahre sein
Student:false,Alter:24
{ Student:false, Alter:24}
ODER
WENN der Abschluss des Bewerbers NICHT Bachelor istODER seine Berufserfahrung WENIGER als 5 Jahre istDANN Sie müssen einen Bachelor oder 5 Jahre Erfahrung haben
Abschluss:BachelorBerufserfahrung:4
{ Abschluss:"Bachelor", Berufserfahrung:4}
der Abschluss des Bewerbers MUSS Bachelor seinODER seine Berufserfahrung MUSS MINDESTENS 5 Jahre sein
Abschluss:BachelorBerufserfahrung:4
{ Abschluss:"Bachelor", Berufserfahrung:4}
Komplexe Bedingung
Bei komplexen Regeln müssen die Einrückungen beachtet werden.
WENN der Wohnort der Person IST LondonUND der Name des Person ist GLEICH Mycroft HolmesODER sein Name ist GLEICH Sherlock HolmesDANN die Person ist ein Genie
Wohnort:LondonName:Sherlock Holmes
{ Wohnort:"London", Name:"Sherlock Holmes"}
Arithmetische Beispiele
Die Grammatik unterstützt arithmetische bzw. mathematische Operationen.
WENN Aktiva - Passiva NICHT GLEICH 0DANN die Bilanz muss immer ausgeglichen sein
Aktiva:10Passiva:9
{ Aktiva:10, Passiva:9}
WENN das Eigenkapital / Bilanzsumme NICHT GLEICH EigenkapitalquoteDANN die Bilanz enthält Fehler
KOMMENTAR Mehrzeilige Kommentare
sind auch möglich
OpenAPI
openVALIDATION bringt eine eigene OpenAPI Erweiterung mit, die die entsprechenden Validierungsregeln für die jeweiligen Serviceoperationen definiert.
openapi: "3.0.0"
info:
version: 1.0.0
title: openVALIDATION
description: openVALIDATION Beispiele.
paths:
/:
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/person'
x-ov-rules:
culture: de
rule: |
KOMMENTAR Das ist ein Kommentar
WENN das Eigenkapital des Person KLEINER 30000 € ist
DANN darf der Kredit nicht vergeben werden
responses:
'200':
description: success
components:
schemas:
person:
type: object
properties:
eigenkapital:
type: integer