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
Rich 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
-
-
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.