Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Number

This type checks the boundaries of an attribute with base type number, integer, currency or percentage.

Syntax

Panel
bgColorwhite

Date


Use this type to construct validations for specific date formats. You can use this validation on attributes that have base type date.

Syntax

Code Block
<comparedate><comparator><compareday><comparemonth><compareyear>
  • comparedate - Compare the attribute value to a specific date, the dateformat of this date should be 'yyyy/MM/dd'.

  • comparator - The type of comparison, this can be 'less', 'equal' and 'greater'.

  • compareday - There are three options:

    • a number between 1 and 31; the day part of the attribute value is compared with this value.

    • '+' followed by a number; the day part of the attribute value is compared with the current day '+' the specified number.

    • '–' followed by a number; the day part of the attribute value is compared with the current day '–' the specified number.

  • comparemonth - There are three options:

    • a number between 1 and 12; the month part of the attribute value is compared with this value.

    • '+' followed by a number; the month part of the attribute value is compared with the current month '+' the specified number.

    • '–' followed by a number; the month part of the attribute value is compared with the current month '–' the specified number.

  • compareyear - There are three options:

    • a number; the year part of the attribute value is compared with this value.

    • '+' followed by a number; the year part of the attribute value is compared with the current year '+' the specified number.

    • '–' followed by a number; the year part of the attribute value is compared with the current year '–' the specified number.

Examples

Suppose that TODAY = 07-10-2004.


ExplanationValidation rule
value = 01-02-2004<2004/02/01><equal>
value > 1 month from today<><greater><><+1>
value < 1 year ago<><less><><><-1>

Back to top

Panel
bgColorwhite
Code Block
<maxIncl><minIncl><maxExcl><minExcl>
  • maxIncl - The attribute value should be less than or equal to this value.

  • minIncl - The attribute value should be greater than or equal to this value.

  • maxExc - The attribute value should be less than this value.

  • minExcl - The attribute value should be greater than this value.

Examples

ParametersValueResult<><0>0valid<><><><0>0invalid<><><><0>1valid<120><><><0>120valid<><><120><0>120invalid<><><120><0>119valid<5.1345><><><1.2345>5.1345valid<5.1345><><><1.2345>1.2345invalid

Back to top

Panel
bgColorwhite

Regexp

This validation type checks whether a string value is part of a specified set of strings. You can use this type to validate a string as a correct postal code format, telephone number or email address.

Syntax

Code Block
<posRegExp><negRegExp>
  • posRegExp - The attribute value should satisfy this regular expression.

  • negRegExp - The attribute value should not satisfy this regular expression.

The following characters are allowed in these regular expressions:

Code Block
^[0-9]{4}\s{0,1}(?)[a-zA-Z]{2}$

The regular expressions used in several Blueriq Studio functions are common Java 1.4 expressions. For a complete documentation we refer to the online java documentation.

UI Text Box
typewarning

When writing regular expressions, you should make sure that they do not make the system vulnerable to ReDos attacks. The system can give a denial of service when an evil expression is used, that takes very long to evaluate by the parser.
Examples of evil regular expressions:

  • (a+)+
  • ([a-zA-Z]+)*
  • (a|aa)+
  • (a|a?)+
  • (.*a){x} | for x > 10

The above are suspectible to aaaaaaaaaaaaaaaaaaaaaaaa!

It is difficult to give general rules that make sure that your expression is not evil, and even recognizing them can be hard. When writing regular expressions, consider Atomic Groups which help to avoid the evil behavior.

Examples

Postal code

Code Block
<^[0-9]{4}( ?)[a-zA-Z]{2}$>
ValueResult“1000 AA”valid“1000AA”valid“10001AA”invalid

Telephone number

Code Block
<(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)>
ValueResult“010 1234567”valid“+31(0)10 1234567”valid“010-1234567”valid“010 123456789”invalid

E-mail address

Code Block
<^.+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$><(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|\s>
ValueResult“test@email.nlvalid“test@email.failure”invalid
UI Text Box
typenote

For more examples, you can check this website: http://www.regexlib.com/

Back to top

Panel
bgColorwhite

SofiNumberValidator

This type checks whether a social security number is valid. You can use this validation on attributes that have base type string.

Syntax

Code Block
<locale>
  • locale - Specify the country code for which you want to validate the social security number, e.g. nl_NL for the Netherlands.

Examples

Assume you have added the validation type SofiNumberValidator with parameter <nl_NL> to the attribute Client.SocialSecurityNr, then

  • Client.SocialSecurityNr = “123456782” is valid;

  • Client.SocialSecurityNr = “123456789” is invalid.

Back to top

Panel
bgColorwhite

StringLength

This type validates the length of a string value.

Syntax

Code Block
<minLength><maxLength>
  • minLength - The length of the attribute value should be greater than or equal to this value.

  • maxLength - The length of the attribute value should be less than or equal to this value.

Examples

ParametersValueResult<><5>“john”valid<2><>“a”invalid<4><8>“username”valid

Back to top