Validate form - Completing the Validate tab

The Validate tab relates the properties to be evaluated 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.

Tip: As a best practice, use no more than 50 rows and ten columns on this tab. If you need to specify more rows and columns, create another validate rule 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, and then it evaluates the validation settings for the second property, and so on. When a property is found to be invalid, the system ends its evaluation 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.)

Expanding and collapsing details

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.

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. If the conditions are disabled, the number is grayed out.

Input-qualified validation

Optionally, you can provide different sets of validation conditions depending on the value of an input property, a proposed work status, a flow action, or stage.

Using a property for input-qualified validation

For example, in a loan application you might use different validation depending on the risk rating of the applicant. 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 you can define one set of validation conditions for High Risk and another set for Medium Risk.

  1. On the Input tab, specify the RiskRating property as the Input Property value.
  2. On the Validate tab, add a column for each risk rating, and specify the validate conditions to be applied to the input form properties.

Using input property to qualify validation

Using proposed work status for input-qualified validation

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. By specifying the Proposed Work Status on the Input tab of the validate rule, 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.

Using a flow action for input-qualified validation

You can use a flow action as the qualifier. By specifying the Flow Action Name on the Input tab of the validate rule, 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.

Using stages for input-qualified validation

You can use a stage as a qualifier. By specifying Stages on the Input tab of the validate rule, you can qualify sets of validation conditions according to the stage name. Validations are triggered based on the current stage of a case.

Validation results

When executed, a validate rule adds messages to the clipboard page containing the properties that fail validation. These messages are not directly presented to a user.

Note: You cannot use a validate rule to present a custom error message for the specific case of a user who leaves a required field empty in an input form. In this case, the system presents a standard message "This field may not be blank." (In this case, the Validate tab has the Required check box selected for that particular property, no additional conditions to satisfy, and at run time the user leaves the field corresponding to that property blank on 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 and the custom error message because the blank input also fails the additional specified conditions.

Specifying the properties to be validated

Field Description
Property Specify each property that you want validated using this validate rule. Click the Add property icon 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, click the Open rule icon. To remove a property from the list, select the property's row and then click the Delete icon.

The validation details that you can specify for a property depend on the type of property specified in the Property 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 (for Page property named ItemToAdd and single-value property Name in the page) Directly validates that property ( Validate )
Page property (for Page property named ItemToAdd ) Calls another validate record ( Call )
Single-value property in pages in a Page List property (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 (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 (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 (for the page ItemToAdd in the first page of Items ) Calls another validate record ( Call )
Single-value property in a Page Group property (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 (for single-value property TrackingNumber on page A in ShipmentsGroup ) Directly validate that property's value on page A ( Validate )
Page Group property (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 (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 (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 (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 (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 )

Fields and controls in the Default Validation column

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 you are 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.

Field Description
*Req Displays an asterisk if the user is required at run time 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 as required but the field is blank when the form is submitted, the following message is associated with the property:

This field may not be blank.

You cannot override or modify 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, where you specify conditions for the corresponding property (including enabling and disabling conditions), click:
  • Add — If no conditions are set (when the phrase No additional conditions is displayed).
  • Edit — If conditions are set.

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. 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:
When Conditions column displays
Conditions are specified and enabled Details of the conditions
Conditions are specified but are disabled Details of the conditions and the phrase [Conditions Disabled]. The details are grayed out.
Conditions are specified and the Continue validation check box is not selected for the validation conditions

Details of the conditions and the phrase Do not continue if validation fails.

If the evaluation of this property fails, the system does not evaluate the subsequent properties in the list, or perform the validation specified in the Additional Validation field. To specify that the system should continue validation of subsequent properties and any additional validation settings even when the evaluation for this property fails, edit the conditions and select the Continue validation check box.

Property is a page, page list, or page group Either Call or Call For Each (depending on the property's mode) and the name of another validate rule, followed by the Next icon.

When the property to be validated has a page mode, the system calls another validate rule that specifies the conditions on the page's embedded properties. To open the called validation rule, select its name. The called validate rule is specified in the Call Validate field in the Validation Conditions window.

Additional Validation

Specify any additional validate rules that you want the system to run after evaluating the previous validation settings. Click the Add icon to specify more than one additional validate rule.

Fields and controls in value-qualified validation columns

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 Add icon 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 Delete icon.

The following fields and controls are available in each value-qualified validation column.

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:
  • Input: Label — When validation is qualified by an input property. The displayed label is the label entered for the input property on the Input tab (such as Category ).
  • Input: Proposed Work Status — When validation is qualified by a proposed work status. (Proposed Work Status is selected on the Input tab.)
  • Input: Flow Action Name — When validation is qualified by a proposed flow action. (Flow Action Name is selected on the Input tab.)
  • Input: Stage Name — When validation is qualified by a stage name. ( Stages is selected on the Input tab.)

In the entry field, specify the value of the input property, proposed work status, flow action, or stage name that corresponds to this particular set of validation conditions.

For example, given an input property of Department that has a local list of Table Values of HR, Engineering, and Legal, specify each value in the entry fields at the top of each column. The form refreshes the column heading to reflect the entered value.

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 when condition rule form or to create the rule, click the Open rule icon.
*Req Displays an asterisk if the user is required at run time 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 as required and the field is blank at run time, the following message is associated with the property:

This field may not be blank.

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 where you specify conditions for the corresponding property (including enabling and disabling conditions), click:
  • Add — If no conditions are set (when the phrase No additional conditions is displayed).
  • Edit — If conditions are set.

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. 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:
When Conditions column displays
Conditions are specified and enabled Details of the conditions
Conditions are specified but are disabled Details of the conditions and the phrase [Conditions Disabled]. The details are grayed out.
Conditions are specified and the Continue validation check box is not selected for the validation conditions

Details of the conditions and the phrase Do not continue if validation fails.

If the evaluation of this property fails, the system does not evaluate the subsequent properties in the list, or perform the validation specified in the Also Execute or Additional Validation fields. To specify that the system should continue validation of subsequent properties and any additional validation settings even when the evaluation for this property fails, edit the conditions and select the Continue validation check box.

Property is a page, page list, or page group Either Call or Call For Each (depending on the property's mode) and the name of another validate rule, followed by the Nex icon.

When the property to be validated has a page mode, the system calls another validate rule that specifies the conditions on the page's embedded properties. To open the called validation rule, select its name. The called validate rule is specified in the Call Validate field in the Validation Conditions window.

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 Default Validation to have the system evaluate the default conditions after evaluating the specific conditions in this column.

For the property that is being validated, at run time the conditions specified in the applicable value-qualified column take precedence. For example, when:

  1. Conditions are specified for a property in a value-qualified (labeled) column, with Continue Validation selected.
  2. Conditions are also specified for that property in the Default Validation column.
  3. Default Validation is selected in the Also Execute field.

At run time, the system determines 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 run-time value of the input property or proposed work status, and evaluates the conditions in that column.

If not all of the conditions in that column are satisfied (meaning 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 satisfied all of its corresponding conditions in the first evaluated column, the property is 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 the Add icon to specify more than one additional validate rule. Click the Delete icon to delete a row. To see the specified validate rule or to create the rule, click the Open rule icon.

Setting validation conditions

To specify validation conditions for a particular property listed on the Validate tab, click either Add (if no conditions are set) or Edit (if conditions are 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 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 run time to enter a non-blank value for the corresponding property.

If selected and the field is blank when the form is submitted, the following message is associated with the property:

This field may not be blank.

You cannot override this message.

If not selected, the blank value is allowed.

Do not select this check box for a field that appears at run time as a check box, because the cleared value might 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:
  1. Use Autocomplete in the Select a function field to select the function that the system evaluates at run time. The window refreshes to show the selected function and displays entry fields to specify any parameters needed for the selection.
  2. Specify the parameters for the selection.

Optionally, you can add conditions by clicking the Add icon. For each additional row, select OR or AND to specify the logical relationship between the conditions.

To use a different function for a condition, clear the function by clicking the Delete icon, and then use the Autocomplete icon to select another function.

To remove a condition, click the Delete icon.

For functions that involve expressions, you can use the Expression Builder to help you specify 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 options is limited to Error and blank category messages.

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 accepts parameters {1}, {2} and {3}, you can enter:

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.

About Validate rules