• Public
  • Public/Protected
  • All

A special StringField which contains serialized JSON data.





  • clean(value: any, options: any): any
  • _validateType(value: any): void
  • initialize(value: any, model: any, options?: {}): any
  • toObject(value: any): string
  • _cast(value: any): string
  • _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.


    • value: any

      The candidate value

    Returns boolean | void

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

  • apply(fn: string | Function, value: any, options?: any): any
  • Apply a function to this DataField which propagates through recursively to any contained data schema.


    • fn: string | Function

      The function to apply

    • value: any

      The current value of this field

    • options: any = {}

    Returns any

    The results object

  • 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), 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.


    Returns DataModelValidationFailure

    Returns a DataModelValidationFailure if a validation failure occurred.

  • _validateModel(data: any, options?: any): void
  • Certain fields may declare joint data validation criteria. This method will only be called if the field is designated as recursive.


    An error if joint model validation fails



    • data: any

      Candidate data for joint model validation

    • options: any = {}

      Options which modify joint model validation

    Returns void

  • _isValidChoice(value: string): boolean
  • Test whether a provided value is a valid choice from the allowed choice set


    • value: string

      The provided value

    Returns boolean

    Is the choice valid?

  • _cleanType(value: any, options: any): any
  • Apply any cleaning logic specific to this DataField type.


    • value: any

      The appropriately coerced value.

    • options: any

    Returns any

    The cleaned value.

  • Recursively traverse a schema and retrieve a field specification by a given path


    • path: string[]

      The field path as an array of strings

    Returns JSONField


nullable: boolean
blank: any
initial: string

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.

hierarchical: boolean = false

Whether this field defines part of a Document/Embedded Document hierarchy.

recursive: boolean = false

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


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

    Returns string

  • get _defaults(): any
  • inheritdoc

    Returns any