This is an old revision of the document!
Field
A field is an element on a card and describes a property of the represented data entry. Which fields are contained in a Card is defined in the underlying Proto. In comparison to relational databases, a Protogrid field plays the role of a table attribute.
There are different types of fields:
- Text
- Number
- Tableview
- Date & time
- Relational
Each field on a card is based on a field definition. In this field definition, you can specify the name of the field, a help text, and standard behavior for this field. Field Properties include:
- User Input: Decide whether input for this field is optional or mandatory.
- User Enabled: Set whether the field should be:
- Editable: always editable to the user
- Editable before first save
- Computed by a Server-ScriptLibrary
- Computed by a Client-ScriptLibrary
- Hidden: Values might exist in the backend, but are not rendered for the user
- Hidden in client: The field is rendered hidden in the browser. Note that this is a feature for eased user access and not a security feature.
- Size in Grid: Important fields or field, where you expect the user to enter long texts, can be set to span an entire row.
- Default Value: For some field types, you may add a default value. This value is automatically written to the card upon creating.
- Min-Max-Validation (for Numbers and Date & times): You may require that the value of this field is no smaller or bigger than a given value. This will be validated upon saving.
- Regular-Expression-Validation (for Text): You may require the text to match a certain structure given by a regular expression in the field definition. This will be validated upon saving. Examples of regex strings are given below
- Mail: The regex string
.*@.*\..*
matches input of the form [a-z0-9]@[a-z0-9].[a-z0-9] - Phone: The regex string
^(\+?)(\d{2,4})(\s?)(\-?)((\(0\))?)(\s?)(\d{2})(\s?)(\-?)(\d{3})(\s?)(\-?)(\d{2})(\s?)(\-?)(\d{2})
matches Swiss phone number entered in international format and the most common styling rules. It matches +41 44 123 12 34, +41 (0) 44 123 12 34, +41-44-123-1234, 0041 44 123 12 34. It does not match 044 123 12 34, +41 0 44 123 1234, +41.44.123.1234.
Note that whether or not a field is editable to a certain user also depends on the users role in the Environment.