Options
All
  • Public
  • Public/Protected
  • All
Menu

A special class of StringField field which references another DataModel by its id. This field may also be null to indicate that no foreign model is linked.

Hierarchy

Index

Constructors

Properties

model: {}

A reference to the model class which is stored in this field

Type declaration

    nullable: boolean
    blank: any

    The initially provided options which configure the data field

    name: any

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

    internal
    parent: any

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

    internal

    Methods

    • _cast(value: any): any
    • initialize(value: any, model: any, options?: {}): any
    • Initialize the original source data into a mutable copy for the DataModel instance.

      Parameters

      • value: any

        The source value of the field

      • model: any

        The DataModel instance that this field belongs to

      • options: {} = {}

        Returns any

        An initialized copy of the source data

      • toObject(value: any): any
      • Export the current value of the field into a serializable object.

        Parameters

        • value: any

          The initialized value of the field

        Returns any

        An exported representation of the field

      • _validateType(value: any): void
      • clean(value: any, options: 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.

        Parameters

        • value: any

          The initial value

        • options: any

        Returns any

        The cast value

      • _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.

        Parameters

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

        Parameters

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

        throws

        An error if there is no valid initial value defined

        Parameters

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

        Parameters

        • value: any

          The initial value

        • options: any = {}

        Returns ModelValidationError

        Returns a ModelValidationError if a validation failure occurred

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

        Parameters

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

        Parameters

        • value: any

          The appropriately coerced value.

        • options: any

        Returns any

        The cleaned value.

      Accessors

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

        Returns string

      • get _defaults(): any
      • inheritdoc

        Returns any