Validate form
|
|
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.)
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.
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.
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
.
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.
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.
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.
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.
Field |
Description |
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, 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 | .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 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:
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:
|
||||||||||
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 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:
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 |
||||||||||
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:
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:
|
||||||||||
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 For the property that is being validated, at run time the conditions specified in the applicable value-qualified column take precedence. For example, when:
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 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. |
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 (unchecked) 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:
Optionally, you can add conditions by clicking . For each additional row, select To use a different function for a condition, clear the function by clicking , and then use the autocomplete () 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 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. |