A subclass of [StringField]StringField which contains a sanitized HTML string. This class does not override any StringField behaviors, but is used by the server-side to identify fields which require sanitization of user input.

Hierarchy (view full)

Constructors

Properties

blank: boolean

Is the string allowed to be blank (empty)?

trim: boolean = ...

Should any provided string be trimmed as part of cleaning?

choices: any = ...

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.

textSearch: boolean = ...

Is this string field a target for text search?

name: string

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

parent: DataField

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

The initially provided options which configure the data field

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

Accessors

  • 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

  • get hasFormSupport(): boolean
  • Does this form field class have defined form support?

    Returns boolean

Methods

  • Parameters

    • groupConfig: {} = {}
      • inputConfig: any

      Returns HTMLDivElement

    • 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

        Additional options for how the field is cleaned

      Returns any

      The cast value

    • Parameters

      • value: any

      Returns string

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

      Throws

      May throw a specific error if the value is not valid

    • 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

      • Optional options: any = {}

        Additional options passed to the applied function

      Returns any

      The results object

    • Attempt to retrieve a valid initial value for the DataField.

      Parameters

      • data: any

        The source data object for which an initial value is required

      Returns any

      A valid initial value

      Throws

      An error if there is no valid initial value defined

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

      Parameters

      Returns DataModelValidationFailure

      Returns a DataModelValidationFailure if a validation failure occurred.

    • Internal

      Certain fields may declare joint data validation criteria. This method will only be called if the field is designated as recursive.

      Parameters

      • data: any

        Candidate data for joint model validation

      • options: any = {}

        Options which modify joint model validation

      Returns void

      Throws

      An error if joint model validation fails

    • 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

      • Optional options: any = {}

        Initialization options

      Returns any

      An initialized copy of the source data

    • 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

    • Internal

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

      Parameters

      • path: string[]

        The field path as an array of strings

      Returns HTMLField

    • Render this DataField as an HTML element.

      Parameters

      • config: FormInputConfig = {}

        Form element configuration parameters

      Returns HTMLElement | HTMLCollection

      A rendered HTMLElement for the field

      Throws

      An Error if this DataField subclass does not support input rendering

    • Apply an ActiveEffectChange to this field.

      Parameters

      • value: any

        The field's current value.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The change to apply.

      Returns any

      The updated value.

    • Internal

      Cast a change delta into an appropriate type to be applied to this field.

      Parameters

      • delta: any

        The change delta.

      Returns any

    • Protected

      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?

    • Protected

      Apply any cleaning logic specific to this DataField type.

      Parameters

      • value: any

        The appropriately coerced value.

      • Optional options: any

        Additional options for how the field is cleaned.

      Returns any

      The cleaned value.

    • Protected

      Apply an ADD change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Protected

      Apply a MULTIPLY change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Protected

      Apply an OVERRIDE change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Protected

      Apply an UPGRADE change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Protected

      Apply a DOWNGRADE change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Protected

      Apply a CUSTOM change to this field.

      Parameters

      • value: any

        The field's current value.

      • delta: any

        The change delta.

      • model: DataModel

        The model instance.

      • change: EffectChangeData

        The original change data.

      Returns any

      The updated value.

    • Internal

      Get a record of eligible choices for the field.

      Parameters

      • Optional options: {
            choices: any[] | Record<any, any>;
            labelAttr: string;
            valueAttr: string;
            localize: boolean;
        } = {}
        • choices: any[] | Record<any, any>
        • labelAttr: string

          The property in the choice object values to use as the option label.

        • valueAttr: string
        • localize: boolean

          Pass each label through string localization?

      Returns FormSelectOption[]