Validation tab

Set verification of the found zone values on this tab. Only those values are considered to be found within a zone, which meet the validation criteria for that zone, otherwise they will be ignored.
Type of validation drop down list allows you to select one of the following values:
Type Description
No validation This option is set by default. Zone values are not validated.
The resulting RRT will contain an empty string, if the zone contains unrecognizable characters; if the zone does not contain anything, then there will be no value passed to the resulting RRT.
Contains something This option says that the zone must contain some valid value depending on zone type. If no valid value is found in the zone, it is identified as empty.
If the zone does not contain anything or its content is unrecognizable, then there will be no value passed to the resulting RRT.
Matches wildcard

This option allows using wild cards to validate those zone values which satisfy the defined pattern:

Wildcard Description
* any value of any length
? any single character
[A] any single alphabetic character
[#] any single numeric character
[A#], [#A] any letter or a number

If you want symbols such as *?[]\ to be interpreted as characters (not as wild cards), use the slash as the escape character: \*, \?, \[, \], \\.

For example, to interpret the symbols in the string [a*b]*c as literal characters, use the following expression: \[a\*b\]\*c.

Matches regular expression

This option says that the zone value must match a regular expression. All standard operations are allowed: ., *, +, |, [], ^, $ ? and grouping with ().

For example, the pattern ^Auskunft[\s\S]*, used to validate a string that should initiate with the word "Auskunft", captures all content until the end of the string, accommodating multiline text. ^: marks the start of the line. Auskunft: matches the literal term "Auskunft". [\s\S]*: includes any sequence of characters, including both whitespace (\s) and non-whitespace (\S) characters, occurring zero or more times.

Regular expression Description
a

a where a is any symbol excluding symbols (|)[].*+^$\?

For example: f is character "f”; 5 is character "5”.

\a

a where a is any symbol including (|)[].*+^$\?

To represent any symbol "as is”, precede it with a the backslash character. You can use the backslash and an escape character to interpret special characters literally, including characters inside of CharSet. To include the backslash character ( \ ) as a literal character, prefix it with the backslash ( \\ ).  

For example: \* means character "*” and \a means character "a”.

.

Any single symbol.

For example: expression 11.5 corresponds to such combinations of characters as "1135”, "11f5”, "11_5”.

RegExp

Any regular expression RegExp.

For instance, 112 represents sequence "112”, which can be found inside a string (not the whole string only!).

RegExp1|RegExp2

Any one of expressions RegExp1 or RegExp2

For example, expression 1|3 validates any of symbols "1” or "3”.

The concatenation has priority in comparison with alternation construct. This means that combination 12.5|78 corresponds not to "12(any number)(then 5 or 7)8", but it corresponds to "(12(any number)5) or (78)". So, the representations of this example can be: "1235", "12f5", "78".
RegExp+

Regular expression RegExp repeated one or more times.

Use this expression to find sequences of desired characters

For example, (1|3)+ will find expressions (1|3), (1|3)(1|3).

RegExp* Regular expression RegExp repeated zero or more times.
RegExp? Regular expression RegExp repeated zero or one time.
RegExp1RegExp2

Sequence of two expressions: RegExp1 then RegExp2.

For example, (1|3)(11.5) corresponds to such combinations as "11175”, "311t5”.

^

Beginning of string.

Use this symbol to find strings which begin with predefined regular expression. The desired expression must follow ^ sign.

For example:

  • Expression ^1 corresponds to all strings which begin with "1”;

  • ^(1|3) — All strings which begin with "1” or "3”.

$

End of string.

Use this symbol to find strings which end with predefined regular expression. The desired expression must precede $ sign. Expression ^RegExp$ corresponds to the whole string only.

 For example:

  • Expression 5$ corresponds to all strings which end with "5”;

  • (1|3)$  — All strings which end with "1” or "3”;

  • ^(a|c)..123.$ represents whole strings which begin with "a” or "c” then have any two characters, then sequence "123” and end with any character: "age123y”, "cat1234”.

[CharSet]

Any single symbol belonging to a character set CharSet.

The CharSet is specified as a character string and includes all symbols of the string. The order of characters doesn't matter. A "-” sign inside of the CharSet has a special meaning and is used to represent a characters interval. 

For example, expression [12a-e34] means the same as [12abcde34], it stands for any character "1”, "2”, "3”, "4”, "a”, "b”, "c”, "d” or "e”.

[^CharSet]

Any symbol not belonging to manifold CharSet.

For example, [^12a-e34] means any character excluding "1”, "2”, "3”, "4”, "a”, "b”, "c”, "d” and "e”. 

Other symbols inside brackets are considered as characters but not special symbols. For instance, [$] is not a symbol of end of string but it is a character "$”. Symbol ^ must stand right after "[", otherwise it means just a character "^”.

Contains regular expression Use this option when the goal is to find a substring defined by the specific regular expression, rather than matching the entire string. For instance, consider the pattern ^Auskunft, to validate strings that start with the word "Auskunft". ^: Marks the start of the line. Auskunft: Matches the literal term "Auskunft". "Matches regular expression" focuses on matching the entire zone value to the pattern, whereas "Contains regular expression" searches for the pattern anywhere in the zone value. The decision between them depends whether you seek conformity of the entire zone value to the pattern or if you simply need to identify a substring within the zone value that matches the pattern.
Validated by external script In this option, zones will be verified by the use of the defined VB script. Input the path to the script in the Script file name field or browse the script. The script receives the following data at input:
  • sValue — The zone value with line feed
  • sTrimmedValue — The zone value without line feed
  • sFileName — Input file name
  • nPageNumber — Page number
If the zone is validated, it returns value "TRUE" or "YES" for string variable RRV. If validation fails, the script returns "FALSE" for RRV.   Example of the validation script:

                           val = sValue
                           fn = sFileName 
                           num = nPageNum
                           if sTrimmed
                           Value = "Vinci" then 
                           RRV = "TRUE"
                           else
                           RRV = "FALSE"
                           end if                                           
                        
 
Contains substring This option says that the zone value must contain the specified text. If the text is not found in the zone, it is identified as empty.
Zone is required  — This option means that if there is no value found (or no value matches validation criteria, if validation is on) within this zone, or if the external script returns "FALSE", the job should be rejected.
Use default value if not found or invalid — This option means that if no valid values in the zone are found (does not apply to required zones), or if the external script returns FALSE, then the specified default value will be the value of that zone. If the zone is required, default value for it is disabled.