The different types this field can represent
Optional
options: DataFieldOptionsOptions for configuring the field
Optional
context: DataFieldContextAdditional context describing the field
Internal
nameThe field name of this DataField instance. This is assigned by SchemaField#initialize.
The initially provided options which configure the data field
Internal
parentA reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.
The types of this field.
Static
hierarchicalWhether this field defines part of a Document/Embedded Document hierarchy.
Static
recursiveA dot-separated string representation of the field path within the parent schema.
Static
_defaultsDefault parameters for this field type
Static
hasDoes this form field class have defined form support?
Internal
Cast a change delta into an appropriate type to be applied to this field.
The change delta.
Internal
Commit 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.
Internal
Update 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.
Internal
Certain 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
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
Optional
options: { partial?: boolean; source?: object } = {}Additional options for how the field is cleaned
Optional
partial?: booleanWhether to perform partial cleaning?
Optional
source?: objectThe root data model being cleaned
The cast value
Attempt to retrieve a valid initial value for the DataField.
The source data object for which an initial value is required
A proposed initial value
Migrate this field's candidate source data.
Candidate source data of the root model
The value of this field within 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
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
Optional
options: DataFieldValidationOptions = {}Options which affect validation behavior
Returns a DataModelValidationFailure if a validation failure occurred.
Protected
_applyProtected
Apply 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
_applyProtected
Apply 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
_applyProtected
Apply 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
_applyProtected
Apply 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
_applyProtected
Apply 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
_applyProtected
Apply 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
_toProtected
Render this DataField as an HTML element. Subclasses should implement this method rather than the public toInput method which wraps it.
Form element configuration parameters
A rendered HTMLElement for the field
A subclass of foundry.data.fields.DataField that defines a union of schema-constrained objects discriminable via a
type
property.