• Public
  • Public/Protected
  • All

A subclass of ArrayField which supports an embedded Document collection. Invalid elements will be dropped from the collection during validation rather than failing for the field entirely.





readonly: boolean
element: DataField

The data type of each element in this array

The initially provided options which configure the data field

name: any

The field name of this DataField instance. This is assigned by SchemaField#initialize.

parent: any

A reference to the parent schema to which this DataField belongs. This is assigned by SchemaField#initialize.



  • A reference to the DataModel subclass of the embedded document element

    Returns typeof DataModel

  • The DataSchema of the contained Document model.

    Returns SchemaField

  • get fieldPath(): string
  • A dot-separated string representation of the field path within the parent schema.

    Returns string

  • get _defaults(): any
  • Default parameters for this field type


    Returns any


  • _cleanType(value: any, options: any): any
  • _validateElements(value: any, options: any): any[]
  • Validate every element of the ArrayField


    • value: any

      The array to validate

    • options: any

      Validation options

    Returns any[]

    An array of error objects

  • initialize(value: any, model: any, options?: {}): any
  • toObject(value: any): any
  • apply(fn: any, value?: any[], options?: {}): {}[]
  • override


    • fn: any
    • value: any[] = []
    • options: {} = {}

      Returns {}[]

    • _cast(value: any): any[]
    • _validateType(value: any, options?: {}): void
    • clean(value: any, options: { partial: boolean; source: any }): any
    • 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.


      • value: any

        The initial value

      • options: { partial: boolean; source: any }
        • partial: boolean
        • source: any

      Returns any

      The cast value

    • getInitialValue(data: any): any
    • Attempt to retrieve a valid initial value for the DataField.


      An error if there is no valid initial value defined


      • data: any

        The source data object for which an initial value is required

      Returns any

      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) or by returning false. A validator which returns true denotes that the result is certainly valid and further validations are unnecessary.


      • value: any

        The initial value

      • options: any = {}

      Returns ModelValidationError

      Returns a ModelValidationError if a validation failure occurred

    • _validateSpecial(value: any): boolean | void
    • 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.


      May throw a specific error if the value is not valid


      • value: any

        The candidate value

      Returns boolean | void

      A boolean to indicate with certainty whether the value is valid. Otherwise, return void.

    • _validateElementType(element: any): any