Validations

In order to assist developers in the implementation of field validations, a new validation engine has been added to the platform that will significantly reduce the amount of JavaScript that needs to be created to perform validations on Input controls.

The validations can be configured by going into the details of the Type property (See below).

The validations section appears at the bottom of the Type dialog.

Validation Option

Description

Validation Option

Description

Regex

Providing a valid regular expression in this field will cause the platform to evaluate the input value when the form is submitted.  If the regular expression test fails, the Value State of the control will be set to Error and the Value State Message will be set to "Invalid entry" or whatever text has been provided in the Error Msg property.

IQX Fiori App Builder has pre-built choice of regular expressions as follow:

image-20240723-002948.png

 

The entire Project App is saved as an XML file, ready for export or import to other systems. Therefore, any entered Regular Expression will be included in this XML file.

 

Starting with FAB version 3.3.2, a Validate button is available to check the validity of Regex. This validation ensures that:

  1. The regular expression follows standard RegEx syntax.

  2. It contains characters that can be translated into XML properly.

If the regular expression passes these checks, an informational popup saying below message is displayed.

image-20240725-075716.png

Otherwise, this message appears.

image-20240725-075914.png

All RegEx ↔︎ XML translation is now done on back-end and no user action is needed. To view this translation, user may right-click on the element and choose “Show XML”.

Here is an example of translated regular expression in XML:

Entered RegEx: ^[.\+*?^$()\[\]{}<>&'"`~!@#%_:;=,/-]+$

image-20240725-082038.png

RegEx in XML: ^[.\+*?^$()\[\]\{\}&lt;&gt;&amp;&apos;&quot;`~!@#%_:;=,/-]+$

image-20240725-082124.png
image-20240725-082222.png

 

For FAB version 3.3 and 3.3.1, the Validate button is not yet available but a different user help was in place to ensure correctness of RegEx in XML. This is composed of:

  • Information message displayed when hovering on the Regex field to remind users to escape special characters with “\” to help translate the regular expression to its XML counterpart.

  • A question mark icon is placed at the right side of the Regex field. This also shows a similar information message when hovering on the icon.

  • When entering a Regex value with special characters "{"or "}" without the escape character "\", upon clicking continue the escape character should be automatically added on the regex.

 

Script Function

If you require more advanced validations than a regular expression can provide, you can supply the name of a validation function contained within a Script node.

Example
function validateMyValue(evt) { var value = evt.getSource().getValue(); return value == "Valid Value"; // returning true indicates validation success }

In the above example, the function name you would enter into the Script Function field would be:  validateMyValue(evt)

Error Msg

You can provide your own custom error message to be displayed when validations fail.  If not text is supplied, "Invalid Entry" will be displayed. Please avoid using special characters on this.

Validate Search Help Value

Checking this option will ensure that any value entered into the Input field is validated against the values returned in the configured search help.  This ensures that a valid value has been entered even if the Search Help dialog was not used.  

Value Required

Checking this option will enforce that a value is provided in this field when the user tabs off the field or attempts to submit the form.

Required At Approval Level

This option works together with the Value Required checkbox.  When the Value Required checkbox is checked, the Required At Approval Level value will be used to determine exactly when the value is required.  This is useful in more complex workflows where a value may not be required at the time of creation however the second or third approval level may be required to supply data.