Value must Be
addedValues takes pains to ensure that values stored in variables conforms to the semantics of the value. You determine the semantics using a number of properties, of which the most important for string variables is the Value must Be property, not least because it is extensible. Whenever a value is about to be stored into such a variable, a check is made that the value conforms, using a script generated to validate values of this variable.
Maximum use of this property not only increases the quality of your data, it also enables addedValues to make better suggestions about the form elements you can use to enter data and it uses in reports.
Available validations are
- any string - is the same as not checking at all
- no HTML - must be a string that is entirely free of HTML tags
- identifier - must be a sequence of alphabetic or numeric characters starting with an alphabetic. Same as identifier rules for addedValues variable, forms report and query names.
- Any shortcut - must be an entry in the website glossary or the server wide glossary
- story shortcut - must be an entry for a story in this websites list of shortcuts
- picture shortcut - must be an entry for a picture in this websites list of shortcuts
- gem shortcut - must be an entry for a Gem in this websites list of shortcuts
- URL (http) - must be a well formed URL including a non empty path. The http:// prefix may be omitted
- email address - must be a well formed email address according to RFC 822
- country code - must be a string that is an ISO 3166 compliant country code
- RGB colour - must be the name of a colour in the HTML 4.0 specification (as accepted by most browsers)
- Regular Expression - must be a pattern of a regular expression according to Frontier regex implementation. Most useful for globals.
- 1st Level Path Identifier - same as identifier but intended for variables whose value will be the first level names in url paths. These cannot clash with existing Manila names such as default, stats and discuss and any attempt to assign such values to the variable will be rejected.
- Hierarchical Path - must be a path, with nodes separated by the / character.
- Match to <id> - where <id> is the name of a global variable whose value must be a regular expression and whose value exists.
- Value of global <id> - where <id> is the name of a global variable with pre-defined values.

String variables whose value must be Hierarchical Path, may have a value list, which is a list of path strings. The User interface to manage predefined values reflects this; you may enter the collection of paths as an XML hierarchy resembling how the site structure is handled in Manila or in an alternate, more user friendly way. The meaning of Predefined Values Only for these variables is different too; the values must lie within the path hierarchy, but need not be only the pre-defined values.