Options
All
  • Public
  • Public/Protected
  • All
Menu

A subclass of DataField which deals with string-typed data.

property

{boolean} blank=true Is the string allowed to be blank (empty)?

property

{boolean} trim=true Should any provided string be trimmed as part of cleaning?

property

{string[]|object|function} [choices] An array of values or an object of values/labels which represent allowed choices for the field. A function may be provided which dynamically returns the array of choices.

Hierarchy

Index

Constructors

Properties

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

  • 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

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

    Parameters

    • value: any

      The candidate value

    Returns boolean | void

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

  • _validateType(value: any): boolean
  • 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

  • initialize(value: any, model: any): 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

    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

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

  • #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?

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