Validate form
|
|
The Validate tab relates the to-be-evaluated properties and their corresponding validation settings in a row-column matrix structure. Complete this tab to define validation conditions for one or more properties.
Specify the properties in the first column (under the Property heading). Then for each property, use the fields and controls in the other columns to specify defined sets of validation conditions that the system applies to the property. By default, there is a set named Default Validation. Additional columns are displayed if input-qualified validation conditions are specified.
Best practice: Aim to use no more than fifty (50) rows and ten (10) columns on this tab. If you need to specify more than that, create another validate rule to use in the Additional Validation fields.
When the system runs the validate rule, it first evaluates the validation conditions defined for the first property in the list, then it evaluates the validation settings for the second property, and so on. When a property is found to be invalid, if no further validate actions are specified (for example, if Continue Validation is not selected in the condition details and nothing is specified for the Also Execute or Additional Validation fields), the system ends its evaluation.
Use the Expand All and Collapse All buttons to show and hide the details of all of the specified conditions in all columns for each property.
To expand or collapse the details for an individual column, click the and icons at the top of the column.
Note: When you save the rule form, the expanded and collapsed states of the columns are saved. When you re-open the rule form, it reflects the last state.
When the details are collapsed and conditions are specified for a property, the column displays the number of specified conditions (for example, 2). If the conditions are disabled, the number is grayed out.
You can optionally provide different sets of validation conditions to be applied depending on the value of an input property, a proposed work status, or a flow action.
For example, in a loan application, you might want to have different validation depending on the loan applicant's risk rating — if the rating is medium or high. Given an input property RiskRating
that has Table Type of Local List
, with values High Risk
, Medium Risk
, and Low Risk
, in the validate rule form, you can define one set of validation conditions for High Risk
and another set for Medium Risk
:
You can use proposed work status as the qualifier for input-qualified validation. In this case, a flow action form specifies a Proposed Work Status value. In the validate rule, by specifying the Proposed Work Status on the Input tab, you can qualify sets of validation conditions according to work status values (such as Pending-Approval
or Pending-Investigation
). At run time, when the system runs the validation rule from the flow action, it evaluates the set of validation conditions that corresponds to the Proposed Work Status value from the flow action.
You can use a flow action as the qualifier. In the validate rule, by specifying the Flow Action Name on the Input tab, you can qualify sets of validation conditions according to the flow action. Select the ActionName key part of a flow action. This approach enables you to design a single rule that can be shared by multiple flow actions, each with its own set of conditions. For example, instead of designing a validation rule for each flow action in a screen flow, you can define the validation for the entire interaction in a single place making it easier to build, edit, and maintain.
When executed, a validate rule adds messages to the clipboard page containing the properties that fail validation. This does not directly cause the messages to be presented to a user.
Note: You cannot use a validate rule to present a custom error message for the specific case of a user simply leaving a required field empty in an input form. In this case, the system presents a fixed message "This field may not be blank" to the user. (This is the case where the Validate tab has the Required check box selected for that particular property, no additional conditions to satisfy, and at runtime the user leaves the field corresponding to that property blank in the input form.) If the validate rule specifies additional conditions (for example, a condition that the input value must be greater than a particular number) and a custom error message, and the user leaves the field blank, the system presents both the standard message "This field may not be blank" and the custom error message (because the blank input also fails the additional specified conditions).
Field |
Description |
Property | |
Property |
Specify each property that you want validated using this validate rule. Click to create additional rows. Do not specify linked properties. Typically, you validate properties that appear in an HTML form as inputs (not display-only properties). To see the specified property's rule form, or to create the property if it doesn't exist yet, click . To remove a property from the list, select the property's row and then click . |
The available validation details you can specify for a property depend on the type of property reference specified in the Property entry fields. You can specify the following items in the Property fields:
Validating a |
Example reference |
Validation details |
Single-value property | .CustomerType
|
Directly validates that property (Validate ) |
Single-value property in a Page property | .ItemToAdd.Name
(for Page property named ItemToAdd and single-value property Name in the page) |
Directly validates that property (Validate ) |
Page property | .ItemToAdd
(for Page property named ItemToAdd ) |
Calls another validate record (Call ) |
Single-value property in pages in a Page List property | .Items().CategoryID
(for Page List property named Items and single-value property CategoryID in the pages) |
Directly validate that property's value on each page (Validate Each ) |
Single-value property in a specific page in a Page List property | .Items(1).CategoryID
(for the single-value property CategoryID in the first page of Items ) |
Directly validates that property's value on that page (Validate ) |
Page List property | .Items()
(for Page List property named Items ) |
Calls another validate record for each page (Call for Each ) |
Page property in a specific page in a Page List property | .Items(1).ItemToAdd
(for the page ItemToAdd in the first page of Items ) |
Calls another validate record (Call ) |
Single-value property in a Page Group property | .ShipmentsGroup().TrackingNumber
(for Page Group property named ShipmentsGroup and single-value property TrackingNumber in the pages) |
Directly validate that property's value on each page (Validate Each ) |
Single-value property in a specific page in a Page Group property | .ShipmentsGroup(A).TrackingNumber
(for single-value property TrackingNumber on page A in ShipmentsGroup ) |
Directly validate that property's value on page A (Validate ) |
Page Group property | .ShipmentsGroup()
(for Page Group property named ShipmentsGroup and Page property Shipments in that page group) |
Calls another validate record for each page (Call for Each ) |
Page List in a specific page of a Page List | .Items(1).Shipments()
(for Page List property named Items and Page List property named Shipments in that page list) |
Calls another validate record for each page (Call for Each ) |
Page Group in a specific page of a Page List | .Items(1).ShipmentsGroup()
(for Page List property named Items and Page Group property named Shipments in that page list) |
Calls another validate record for each page (Call for Each ) |
Single-value property in pages in a Page List property in a Page property | .ItemToAdd.Items().CategoryID
(for Page property ItemToAdd having an embedded Page List property named Items and single-value property CategoryID in the pages in Items ) |
Directly validate that property's value on each page in the page list (Validate Each ) |
Single-value property in a specific page of a Page List property in a Page property | .ItemToAdd.Items(1).CategoryID
(for Page property ItemToAdd having an embedded Page List property named Items and single-value property CategoryID on page 1 of Items ) |
Directly validate that property's value on page 1 of the page list (Validate ) |
Value List | .ValueList()
|
Directly validate the values in the list (Validate Each ) |
Value Group | .ValueGroup() | Directly validate the values in the group (Validate Each ) |
The following fields and controls are available in the Default Validation column. Each property specified in the Property list has a corresponding Req and Conditions pair in the Default Validation column.
If using input-qualified validation, use the Default Validation column to define the set of your least restrictive conditions. For example, if your input-qualified validation sets are based on the values of an input property, the Default Validation set would specify conditions that you want applied to the properties regardless of the input property's value. Then, in the columns for each input property value, select Default Validation
for the Also Execute field, so that the system applies the default conditions after applying the conditions for the particular property value.
To display detailed information in the column, click at the top of the column. Click to hide the details.
Field |
Description |
||||||||||
*Req |
Displays if the user is required at runtime to enter a non-blank value for the corresponding property. See Setting validation conditions for a description of the Required check box that sets this requirement. When a property is marked required, and the field is blank at runtime when the form is submitted, the system associates the message: This field may not be blank. with the property. You cannot override this message. If Required is not set, the blank value is allowed. |
||||||||||
Conditions |
Displays details about the validation specified for the corresponding property. To open the Validation Conditions window in which to specify conditions for the corresponding property (including enabling and disabling conditions) click:
Use the fields in the Validation Conditions window to specify the conditions. See Setting validation conditions. Note: When the details are collapsed and conditions are specified, the number of specified conditions is displayed (for example, 2). If the conditions are disabled, the number is grayed out. Click the number to open the Validation Conditions window. The following table describes the items displayed in the Conditions column:
|
||||||||||
Additional Validation |
Specify any additional validate rules that you want the system to run after evaluating the previous validation settings. Click to specify more than one additional validate rule. |
When using input-qualified validation, you specify sets of validation conditions according to the values of the input property, proposed work status, or flow action.When using input-qualified validation, click the button displayed to the right of the Default Validation column to add the columns for specifying each value-qualified validation set. To delete a column, set your pointer in a field in that column and click .
The following fields and controls are available in each value-qualified validation column.
To display detailed information in a column, click at the top of the column. Click to hide the details.
Field |
Description |
||||||||||
Input |
Displayed if the Input tab specifies input-qualified validation, using an input property, proposed work status, or flow action. The displayed label is:
In the entry field, specify the value of the input property, proposed work status, or flow action that corresponds to this particular set of validation conditions. For example, given an input property of |
||||||||||
Precondition |
Displayed for input-qualified validation. In the entry field in a column, specify a when condition rule to apply before evaluating the validation conditions in that column. To see the specified when condition's rule form, or to create the rule if it doesn't exist yet, click . |
||||||||||
*Req |
Displays if the user is required at runtime to enter a non-blank value for the corresponding property. See Setting validation conditions for a description of the Required check box that sets this requirement. When a property is marked required, and the field is blank at runtime when the form is submitted, the system associates the message: This field may not be blank. with the property. You cannot override this message. If Required is not set, the blank value is allowed. |
||||||||||
Conditions |
Displays details about the validation specified for the corresponding property. To open the Validation Conditions window in which to specify conditions for the corresponding property (including enabling and disabling conditions) click:
Use the fields in the Validation Conditions window to specify the conditions. See Setting validation conditions. Note: When the details are collapsed and conditions are specified, the number of specified conditions is displayed (for example, 2). If the conditions are disabled, the number is grayed out. Click the number to open the Validation Conditions window. The following table describes the items displayed in the Conditions column:
|
||||||||||
Also Execute |
Specifies another set (column) of validation conditions to evaluate after evaluating and passing the set of conditions in this column. The selected set of validation conditions is another set defined on the Validate tab. Typically, you select At runtime, for a given to-be-validated property, the conditions specified in the applicable value-qualified column "win". For example, when:
At runtime, the system first looks to see if there is input-qualified validation when it applies this validation rule. If so, the system locates the value-qualified column that corresponds to the runtime value of the input property or proposed work status, and then evaluates the conditions in that column. If not all of the conditions in that column are satisfied (the property fails validation for that value-qualified column) and Continue Validation is specified, then the system looks at the Also Execute selection and evaluates that column. However, if the property has satisfied all of its corresponding conditions in the first evaluated column, then it is considered to be valid and the subsequent column is not evaluated. |
||||||||||
Additional Validation |
Specify any additional validate rules that you want the system to run after evaluating the previous validation settings. Click to specify more than one additional validate rule. Click to delete a row. To see the specified validate rule, or to create the rule if it doesn't exist yet, click . |
To specify validation conditions for a particular property listed on the Validate tab, click either Add (if no conditions are currently set) or Edit (if conditions are currently set) in the property's corresponding Conditions column. The Validation Conditions window opens.
Use the following fields in the Validation Conditions window to specify the conditions on the to-be-evaluated property. See Specifying the properties to be validated for which validation types are associated with which property references.
For Validate and Validate Each:
Field |
Description |
Required |
Select to require the user at runtime to enter a non-blank value for the corresponding property. If selected and the field is blank at runtime when the form is submitted, the system associates the message: This field may not be blank. with the property. You cannot override this message. If not selected, the blank value is allowed. Do not select the Required? check box for a field that appears at runtime as a check box, because the cleared (unchecked) value may correspond to blank. |
Enable Conditions |
Select to enable the specified conditions on the corresponding property on the Validate tab. Clear the check box to disable the conditions. |
If |
This area defines the validation conditions. To specify a condition:
Optionally add more conditions by clicking to add more rows. For each additional row, select To use a different function for a condition, first clear the function by clicking , and then use the autocomplete () to select another function. To remove a condition, click . For functions that involve expressions, you can click to use the Expression Builder to help you in specifying the expression. |
Message |
Optional. Specify the message that is displayed to the user at run time if the evaluation of the validation conditions fails. You can enter text or use the SmartPrompt to select the name of a message. The list of available options is limited to If the message rule accepts numbered parameters, follow the message rule's name with a backslash character, the letter t, and an optional literal text value for the parameter. For example, if the message NoSuchCustomer\tyou\tMaster Account system\tmonth-end Do not reference property values or parameter page values as message parameters. |
Continue Validation |
Select to have the system continue evaluating subsequent properties, even if the current evaluation fails. |
For Call and Call For Each:
Field |
Description |
Call Validate |
Specify a validate rule. The system uses the specified rule to evaluate the properties in the page, page list, or page group. |
Continue Validation |
Indicates that the system continues evaluating subsequent properties, even if the current evaluation fails. |