Optionaloptions: DocumentUUIDFieldOptionsOptions which configure the behavior of the field
Optionalcontext: DataFieldContextAdditional context which describes the field
Is the string allowed to be blank (empty)?
An array of values or an object of values/labels which represent allowed choices for the field. A function may be provided which dynamically returns the array of choices.
InternalnameThe field name of this DataField instance. This is assigned by SchemaField#initialize.
The initially provided options which configure the data field
InternalparentA reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.
Is this string field a target for text search?
Should any provided string be trimmed as part of cleaning?
StatichierarchicalWhether this field defines part of a Document/Embedded Document hierarchy.
StaticrecursiveDoes this field type contain other fields in a recursive structure? Examples of recursive fields are SchemaField, ArrayField, or TypeDataField Examples of non-recursive fields are StringField, NumberField, or ObjectField
A dot-separated string representation of the field path within the parent schema.
Static_defaultsDefault parameters for this field type
StatichasDoes this form field class have defined form support?
InternalAdd types of the source to the data if they are missing.
The source data
The partial data
Optionaloptions: { changes?: object; source?: object }Additional options
Optionalchanges?: objectThe root data model changes
Optionalsource?: objectThe root data model source
InternalCast a change delta into an appropriate type to be applied to this field.
The change delta.
InternalRecursively traverse a schema and retrieve a field specification by a given path
The field path as an array of strings
The corresponding DataField definition for that field, or undefined
InternalCommit a prepared update to DataModel#_source.
The parent source object within which the key field exists
The named field in source to commit
The new value of the field which should be committed to source
The reported change to the field
Options which modify how this update workflow is performed.
InternalUpdate the source data for a DataModel which includes this DataField. This method is responsible for modifying the provided source data as well as updating the tracked diff included in provided metadata.
Source data of the DataModel which should be updated. This object is always a partial node of source data, relative to which this field belongs.
The name of this field within the context of the source data.
The candidate value that should be applied as an update.
The accumulated diff that is recursively populated as the model traverses through its schema fields.
Options which modify how this update workflow is performed.
InternalCertain fields may declare joint data validation criteria. This method will only be called if the field is designated as recursive.
Candidate data for joint model validation
Options which modify joint model validation
Special validation rules which supersede regular field validation. This validator screens for certain values which are otherwise incompatible with this field like null or undefined.
The candidate value
A boolean to indicate with certainty whether the value is valid. Otherwise, return void.
Apply a function to this DataField which propagates through recursively to any contained data schema.
The function to apply
The current value of this field
Optionaloptions: object = {}Additional options passed to the applied function
The results object
Apply an ActiveEffectChange to this field.
The field's current value.
The model instance.
The change to apply.
The updated value.
Coerce source data to ensure that it conforms to the correct data type for the field. Data coercion operations should be simple and synchronous as these are applied whenever a DataModel is constructed. For one-off cleaning of user-provided input the sanitize method should be used.
An initial requested value
Additional options for how the field is cleaned
The cast value
Initialize the original source data into a mutable copy for the DataModel instance.
The source value of the field
The DataModel instance that this field belongs to
Optionaloptions: object = {}Initialization options
An initialized copy of the source data
Render this DataField as a standardized form-group element.
Configuration options passed to the wrapping form-group
Input element configuration options passed to DataField#toInput
The rendered form group element
Render this DataField as an HTML element.
Form element configuration parameters
A rendered HTMLElement for the field
Export the current value of the field into a serializable object.
The initialized value of the field
An exported representation of the field
Validate a candidate input for this field, ensuring it meets the field requirements. A validation failure can be provided as a raised Error (with a string message), by returning false, or by returning a DataModelValidationFailure instance. A validator which returns true denotes that the result is certainly valid and further validations are unnecessary.
The initial value
Optionaloptions: DataFieldValidationOptions = {}Options which affect validation behavior
Returns a DataModelValidationFailure if a validation failure occurred.
Protected_applyProtectedApply an ADD change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_applyProtectedApply a CUSTOM change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_applyProtectedApply a DOWNGRADE change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_applyProtectedApply a MULTIPLY change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_applyProtectedApply an OVERRIDE change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_applyProtectedApply an UPGRADE change to this field.
The field's current value.
The change delta.
The model instance.
The original change data.
The updated value.
Protected_cleanProtectedApply any cleaning logic specific to this DataField type.
The appropriately coerced value.
Optionaloptions: objectAdditional options for how the field is cleaned.
The cleaned value.
Protected_isProtectedTest whether a provided value is a valid choice from the allowed choice set
The provided value
Is the choice valid?
Static_prepareInternalPrepare form input configuration to accept a limited choice set of options.
Optionalconfig: FormInputConfig & Partial<ChoiceInputConfig>
A subclass of foundry.data.fields.StringField which supports referencing some other Document by its UUID. This field may not be blank, but may be null to indicate that no UUID is referenced.