Property Qualifier form - Completing the Table Edit tab

Optionally, you can restrict the values of the property qualifier using information entered into this tab.

If you define Table Edits for a property qualifier rule, leave the Table Type set to None on the General tab of the Property form and leave the Validate field on the Advanced tab of the Property form blank.

Basics

Table-edit validation is part of property and page validation. If an input value for a property doesn't match the specified table edits, the property name and the invalid value remain on the clipboard, but during validation the system adds a message and error text to the clipboard page that contains the property. The presence of the message ordinarily prevents the system from saving the clipboard page (which contains invalid data) into the database. The message does not prevent an activity from reading or using the (invalid) property value.

CAUTION:
Table-edit comparisons require an exact text match except for case. Use table-edit validations carefully if the Type of the property is not Identifier or Text. For example, a value of 23.0 does not match a list entry of 23.
Note: Although the value is compared with the specified table-edit values in a case-insensitive way, the system corrects the case. For example, if the values recorded in a Local List on this tab are all lowercase, a user can enter at runtime the value in uppercase, mixed case, or lowercase letters. The system accepts a matching value but converts it to lowercase.

Selecting a table type

The appropriate fields are displayed on the Table Edit tab after you select a choice for the Type of Table field. These fields define the set (table) of acceptable values.

Field Description
Type of Table Select None, Local List, Class Key Value, or Remote List :
  • None — No table validations apply.
  • Local List — The set of acceptable values is provided directly in this tab.
  • Class Key Value — The set of acceptable values is defined using the keys of a known class (a class other than the property's class).
  • Remote List — The set of acceptable values consists of the elements of a Page List or Page Group within a single object.

Entering a Local List

Choose Local List as the Type of Table if your property value is permanently limited to a modest number of known values in a single language. (To accomplish a similar presentation with localized values, use the Table Type on the General tab of the Property form, specify Prompt List, and specify the values there.)

Note: You cannot use a Local List if the Type of the property is Password, True or False, Date, or DateTime.

A Table Values array appears. Complete the array listing each possible value as a literal. Order is not significant.

Field Description
Table Values The set of acceptable values. In this array, enter each explicit value that is valid input for this property. Enter one or more literal values (without quotes) that are appropriate input for the Type specified on the Definition tab for this property qualifier.

You need not leave a blank entry to allow the property value to be empty.

If you enter a value in the first row, it appears at runtime as a default value, and may be too easy for users to overlook. To encourage users to make a non-blank selection at runtime, leave the first entry blank. To require users to make an explicit choice, leave the first row entry and mark the corresponding field on a user form as required.

To encourage users to make accurate, fast selections, list the values in a meaningful order, such as alphabetically or in a natural sequence such as S, M, L, XL, XXL.

If, at runtime, a user input or other processing assigns a non-null value to the property that is not on this list, the value is accepted but, when the page is later validated, the system adds an error message to the page.

For properties using this Table Edit option, a standard control named PromptSelect or RadioButtons is often used to present a selection list.

Completing Class Key Value fields

Use Class Key Value to use a concrete class, rather than field value rules, as the source of acceptable values for the property. Class Key Value specifies a class to validate the input values against.

When you select Class Key Value, Table Description fields appear. Complete them to identify a range of keys in a class other than the Applies To class of the property.

Field Description
Table Description  
Validation Class Select a concrete class that stores the set of acceptable values.
Depending on the number of keys defined for the class (in the Keys array of the class's rule form, certain conditions must be met:
If class has: Then:
One key value Corresponds to the valid value for the property.
Two key values The first key value must act to group values for the second key.

The second key value corresponds to a valid value for the property.

Three key values The first key value must correspond to a class (the standard property pyClassName.

The second key value must act to group values for the second key.

The third key value corresponds to a valid value for the property.

Subset Name (when appropriate) Optional if the Validation Class has only one key. Required if the Validation Class has more than one key. Enter the value of the key in the Validation Class that represents the subset that contains the list of acceptable values.

For example, if a class Data-CustomerTerritory has key parts for state code and county name, to restrict input values for a property at runtime to county names in New York state, enter Data-CustomerTerritory as the Validation Class and "NY" as the Subset Name.

If you leave this field blank, the system uses the Property Name of the property you are defining in the Property form as a default. (The Property Name is the second key part of this property.)

See ../../rule-obj-property/general_tables.htm#Property_form__General_tab___Configuring_validation__keyvalueval.

Completing Remote List fields

Choose Remote List when there are a large number of objects to be validated against (such as countries of the world) that you might not want to enter as individual values, or when the data changes frequently, but is available at runtime as the keys of a certain known class.

Whereas Class Key Value specifies a class to validate the input values against, Remote List specifies a particular instance of a class to validate against.

After you select Remote List, complete the Table Identification fields that appear.

Field Description
Table Identification  
Class of Instance Select the class of the instance. After entering the class, you can skip to the Keys of Instance fields and then return to the Reference To List or Group field.
Reference To List or Group Select a property that has one of the List or Group modes — Value List, Value Group, Page List, or Page Group.
Reference in Each to Scalar property Optional if the Reference to List or Group is Value List or Value Group. Specify either an index value, a reference to one element of an aggregate property, or the Use-Group-Name keyword.
Your choices depend on the Property Mode of the property in the Reference to List or Group field.
Mode Choices
Page List or Page Group Identify a property that contains a value that is an index that identifies the specific page that contains the list.
Value List Leave blank.
Value Group Leave this field blank to edit against each value in the Value Group, or enter the keyword Use-Group-Name to indicate that the index values of the Value Group are the allowed values.
Keys of Instance This array identifies the instance that contains the property value that contains the set of values. Identify keys in the correct order, matching the class definition.
Key Field Enter the name of a property that is a key part of the class.
Value Enter the value for this key part for the instance.

About Property Qualifier rules