where Business Processes, Data and Rules meet.

Validation rule

Home / Rules Engine / Validation rule

Download Now

30 Days Free Licence and Support

FlexRule Runtime 7.3.502 (Download Now)
FlexRule Designer 7.2.456 (Download Now)
FlexRule Server 2.5.2 (Download Now)
Technical Document (Download Now)

Validation Rules


alidation rules validate inputs from users or other systems. The rules can be validated in order to guarantee a successful operation. Validation rules and logic are required when users or systems send a request for process (a simple method call, a Web service, or posting data to a web page) the incoming data have to be validated before going down to underlying services and components to process the requests further.

You can define validation rules on relations, properties value, method call result, … and after validation rules are executed, your application can collect the result from notifications and process them; however, if the validation result did not pass the criteria, the engine would return a false value stored in the notification and the application can collect it to process the request further.

Also, more often than not in a complex system, a validation does not play a role on its own; instead, it needs to be a part of a more complex process. In this scenario, our rules engine provides mechanisms to reuse validation rules as part of an orchestration logic (e.g. Flow, Procedural, Workflow, …).

Do You Like To Visually Model, Execute and Test Your Rules?

  • Structured Hierarchy

    Define the rules in a structured manner using Boolean operators and expressions.

  • Reusable

    Divide the validation rules into 'Logic' sections and call or reuse them whenever required. This can be shared between different validation rules.

  • Change or Extend

    Make your own custom commands or inject variables and type to extend the behaviour.

Parameters and Value Assignment

Parameters are values that your application may need to pass to a rule or expect retrieving it from the rule. There is no limitation on defining parameters in procedural rules. A procedural rule may have Input, Output and Local parameters of any CLR or custom type/class as many as it requires.
Once the rule has got any Input parameters, for executing the rule, application has to pass values for input parameters. When the execution has finished or even during execution time, the application may retrieve the values of the Output parameters.
Once a parameter has been defined in a rule it can be access though out the rule definition and your rule can access the parameters in order to read or write value od the parameters.

Objects Manipulation

In validation rules, they can manipulate objects in different types. Rules may require to create objects from different types. May need to read and write values of an object’s property. Or call a method of an object and decide what needs to be done with the return value:

  • Instantiation of objects
  • Object’s properties read and write
  • Object’s method call
Complex Validation

In some scenario, validation is not only simply comparing objects properties to some simple values. In validation rules you can call methods, access nested properties, build expressions like C# language and validate them in one node of the rules hierarchy. Also you can combine the results with boolean operations:

  • And
  • Or
  • Not
  • Nor
  • Xor

When validation rules is evaluating a complex object, you need to know what part of the object has not met your validation logic. Notification that has all the results for each step of validation so you can retrieve it later. Your can format parameterised, multi lingual messages for each step of validation.


When a criteria is met, actions are executed. This allows the validation logic:

  • Call a method
  • Set a value of parameters
  • Change value of object properties


Language and API

Validation rule can be modeled by our high-level language system:

  • Xml based language
  • DSL to support natural human-like language

Or by using its rich API to build validation rules programmatically.

Don’t Miss Your 30 Days Free Trial Licence With Free Support

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.