Property Types & Validation
Primitive Types
Section titled “Primitive Types”| Type | Stores | UI Control | Example Values |
|---|---|---|---|
| String | Short text | Text input | ”FQ Vessels”, “Active” |
| Integer | Whole numbers | Number input | 42, 0, -1 |
| Real | Decimal numbers | Number input | 3.14, 99.99 |
| Boolean | True/false | Checkbox | true, false |
| Date | Calendar date | Date picker | 2026-03-15 |
| DateTime | Timestamp | DateTime picker | 2026-03-15T14:30:00 |
| UnlimitedNatural | Non-negative integer or * | Text input | 0, 1, * |
Enumeration Types
Section titled “Enumeration Types”A property type with a fixed list of allowed values. Each value has:
- name — display label shown in UI (e.g., “Active”)
- value — machine value stored in model (e.g., “active”)
Enumeration properties render as dropdown selects in the Properties panel and catalogs.
Format Hints (String only)
Section titled “Format Hints (String only)”| Hint | Effect |
|---|---|
multiline | Renders as a textarea instead of single-line input |
url | Renders as a clickable hyperlink |
email | Renders as a clickable mailto link |
Format hints don’t change the stored value — it’s always a string.
Multiplicity
Section titled “Multiplicity”| Value | Meaning | Behaviour |
|---|---|---|
| [1, 1] | Required | Must have a value; flagged by validation if empty |
| [0, 1] | Optional | May be empty |
Default Values
Section titled “Default Values”Properties can define a default value at M2. When a new M1 instance is created, the property is pre-filled with this value. The default must be a valid value for the property’s data type.
For enumerations, the default is the machine value (e.g., “active”), not the display name.
Validation Rules
Section titled “Validation Rules”| Rule | When checked | Behaviour |
|---|---|---|
| Required | On edit + integrity check | Empty required properties flagged |
| Type match | On edit | Invalid values rejected (e.g., text in Integer field) |
| Enumeration | On edit | Only defined literal values accepted |
| Format | On display | Format hints affect rendering, not validation |