Options which configure the behavior of the field
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
The results object
Attempt to retrieve a valid initial value for the DataField.
The source data object for which an initial value is required
A valid initial value
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
Returns a DataModelValidationFailure if a validation failure occurred.
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
Test whether a provided value is a valid choice from the allowed choice set
The provided value
Is the choice valid?
Apply any cleaning logic specific to this DataField type.
The appropriately coerced value.
The cleaned value.
Recursively traverse a schema and retrieve a field specification by a given path
The field path as an array of strings
The initially provided options which configure the data field
The field name of this DataField instance. This is assigned by SchemaField#initialize.
A reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.
Whether this field defines part of a Document/Embedded Document hierarchy.
Does 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.
A special StringField which contains serialized JSON data.