openVALIDATION
Tags: contributorswanted, java, csharp, javascript
Published: 2019-09-16 09:47:06

---
title: openVALIDATION
published: true
description: Create validation rules with natural language
tags: contributorswanted, java, csharp, javascript
cover_image: https://thepracticaldev.s3.amazonaws.com/i/dlri3lpdu2o19akh13tt.png
---

[openVALIDATION](http://openvalidation.io/) enables programming of complex validation rules using natural language, such as German or English.

The rules recorded in natural language are readable not only by humans but also by machines and therefore no longer need to be programmed by a software developer. This task takes over now openVALIDATION. With integrated code generators, a corresponding code can be generated automatically in the desired programming language such as Java, C#, JavaScript with more to come. This code can then be integrated into any application (services, frontends, middleware). 

![](https://thepracticaldev.s3.amazonaws.com/i/dlri3lpdu2o19akh13tt.png)

*Write once, DONT CODE and run everywhere!*

## Natural grammar

Grammar based on a natural language is both formal and natural. This distinguishes this grammar from other programming languages or domain-specific languages. It allows the use of additional semantic or grammatical content. The additional content is only relevant for human readability. The machine, on the other hand, ignores this addition. Thus it is possible to express the rules grammatically correct on the one hand and to give the rules a semantic context on the other hand. All this makes the rules easier to understand. The rules formulated with openVALIDATION are thus at the same time a formal, machine-processable specification, and also a documentation that is easy for people to understand.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/jo0lotva523ejsn2pxz7.png)

## What are validation rules?

Every time data is transmitted, it must be checked for correctness. Such a check is also called plausibility check or validation. There are usually several checks, whereby one of them is called a validation rule.
Validation rules are often required in user interfaces, services, CLI's or at different places in business processes, i.e. everywhere where data is processed. Here is an example that is certainly familiar to everyone:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/imdnlht126sj8hoqa4cg.png)

Two different validation rules are implemented here. The first rule checks the format of the e-mail address. And the second rule checks the length of the password. This is certainly a very simple example. With the complexity of the application, the complexity of the validation rules also increases. For example, an online form for the conclusion of a motor vehicle insurance policy can contain well over 1000 validation rules.

## Get started

You can find the project on [GitHub](https://github.com/openvalidation/openvalidation). In the README you will find all information you need about the project. For contact you can also write an [E-Mail](mailto:validaria@openvalidation.io), mention our twitter account [@openVALIDATION](https://twitter.com/openvalidation) or message us at our instagram account [@openvalidation_](https://www.instagram.com/openvalidation_/).

To get a first expression about openVALIDATION you can also check out our [playground](http://playground.openvalidation.io/).