Examples of validations

Rules > Examples of validations

E-mail address with a valid format

Every time a user types an invalid e-mail address, a red indication will be shown in a text field where it was typed, and the tooltip "Type a valid e-mail address" will be displayed when hovering over such a field. The application form cannot be saved until the user complies with this validation.

Table: Customer

Field: Customer e-mail address (Text field)

Validation type: E-mail address

Name: Valid customer e-mail address

Valid when: Customer e-mail address matches (.\@.\..+)?

Message to user: Type a valid e-mail address

Phone number with a specific format

Every time a user types a phone number that does not match with the expected format, a red indication will be shown in the text field where it was typed, and the tooltip "The format must be +46-8-111-22-333" will be displayed when hovering over such a field. The application form cannot be saved until the user enters a value according to this pattern.

Table: Customer

Field: Customer phone number (Text field)

Validation type: Phone number

Name: Valid customer phone number

Valid when: Customer phone number matches [+][0-9]{2}-[0-9]-[0-9]{3}-[0-9]{2}-[0-9]{3}

Message to user: The format must be +46-8-111-22-333

Finish date cannot be earlier than Start date

If the user enters a date that is chronologically invalid in comparison with another date, a red indication will be shown, and the tooltip "Finish date must be equal or later than Start date" will be displayed when hovering over such a field. The application form cannot be saved until the user enters a valid date.

Table: Activity

Field: Finish date (Date field)

Validation type: New validation

Name: Finish later than Start

Valid when: not Finish date < Start date

Message to user: Finish date must be equal or later than Start date

Make a field mandatory based on another field (using Is empty function)

If the user ticks the checkbox "Other reason", then a short explanation must be provided in the text field "Describe reason", otherwise (i.e., if checkbox not set), the text field must be left empty. A red indication will be shown and the tooltip "If Other reason was chosen, please describe the reason" will be displayed when hovering over such a field. The application form cannot be saved until the user complies with this.

Table: Survey

Field: Other reason (Checkbox)

Validation type: New validation

Name: Describe reason must be entered if Other reason is checked

Valid when: if Other reason is empty then Describe reason is empty else not Describe reason is empty

Validate: Always

In this case, the Validate property is very important: choosing "Always" would make "Describe reason" completely bounded to the checkbox, i.e., the user cannot type in this text field unless the checkbox is ticked. But if Validate = "Only when <field> changes", the text field can be entered even if the checkbox is not ticked.

Message to user: If "Other reason" was chosen, please describe the reason

Be aware that the Is empty function will validate the field in consideration not only on the form or import where it is included, but also outside of these two; for instance, based on the rule above, a form where the "Describe reason" text field is not displayed and the "Other reason" checkbox is just ticked, will still show a warning message and the Save action will not be possible, until "Describe reason" is entered (even from another entry).

A different example is that if the user chooses the item "Ready to invoice" in the drop-down "Status" then the Note field "Description of the order" is expected to have information. In this case, the note field may be entered even other status.

Valid when: if dropdown item in Status in language of en = Ready to invoice then not Description of the order is empty else Description of the order

Validate: Only when Status changes

Other examples

For File fields: File1 matches .+\.jpg (the file uploaded must have the JPG extension) or File1 = Report2017.xlsx (the file uploaded must be named exactly that way with that extension)

For Drop-down fields: dropdown item in Drop-down1 in language of en = dropdown item in Drop-down2 in language of en (the items in two drop-downs must match, and note that "dropdown item in" comes from selecting "itemname" in Funtions) or dropdown item in Drop-down1 in language of en = Cancelled Values are case-sensitive, i.e., typing "cancelled", in lowercase, would not match. Also, if the value of the drop-down is a number, you must use the function string since the list items are strings.