🧱 Field Helper

Utility functies voor het werken met Dataverse form fields (attributen, lookups, option sets en gedrag).

← Terug naar Core Library

📖 Introductie

De Field Helper biedt een complete set utility functies voor het lezen, schrijven en manipuleren van veldwaarden binnen Dataverse forms.

👉 Centraliseert alle field logica en voorkomt duplicatie in scripts.

đŸ“Ļ Functionaliteit

🔹 Basis

  • getValue(formContext, name) → Haalt veldwaarde op
  • setValue(formContext, name, value) → Zet veldwaarde
  • clearValue(formContext, name) → Zet waarde op null
  • hasValue(formContext, name) → Controle of veld gevuld is

âœī¸ Tekstvelden

  • setTextValue(formContext, name, text) → Zet tekst (fallback leeg)
  • setDefaultTextValue(formContext, name, text) → Alleen bij lege waarde
  • copyTextField(formContext, source, target) → Kopieert tekst

đŸ”ĸ Choice / OptionSet

  • setChoice(formContext, name, value) → Zet numerieke optie
  • getChoiceId(formContext, name) → Haalt ID (number)
  • getChoiceText(formContext, name) → Haalt label (tekst)

🔗 Lookup velden

  • setLookupValue(formContext, name, id, name, entityType)
  • getLookupValue(formContext, name)
  • getLookupId(formContext, name)
  • getLookupText(formContext, name)
  • getLookupEntityType(formContext, name)
  • getEntityReference(formContext, name)
  • copyLookupField(formContext, source, target)

âš™ī¸ Default waarden

  • setDefaultValue(formContext, name, value)
  • setDefaultTextValue(formContext, name, text)
  • setDefaultLookupValue(formContext, name, id, name, entityType)
  • setDefaultLookupFromEnv(formContext, field, envVar)

✅ Validatie / gedrag

  • setRequired(formContext, name, required)
  • setRecommended(formContext, name, recommended)
  • getBoolean(formContext, name)

⚡ Events

  • addOnChange(formContext, name, handler)
  • removeOnChange(formContext, name, handler)
  • addOnChangeSafe(formContext, name, handler)

âš™ī¸ Werking

De helper fungeert als abstractielaag bovenop de Dataverse formContext API.

👉 De helper verzorgt:
  • Veilige toegang tot velden
  • Type-specifieke verwerking
  • Extra logica zoals defaults en events

1. Attributen ophalen

  • formContext.getAttribute(name)

2. Type verwerking

  • Tekstvelden → string
  • OptionSets → number
  • Lookup → array met object

3. Extra logica

  • Default waarden (alleen bij lege velden)
  • Safe event binding
  • Lookup parsing

🔗 Lookup structuur

Een lookup wordt intern opgeslagen als array met object:

[
  {
    id: "GUID",
    name: "Display Name",
    entityType: "account"
  }
]

âš ī¸ Belangrijke aandachtspunten

  • Null checks
    Voorkomt errors bij ontbrekende velden
  • Lookup structuur
    Altijd array, ook bij ÊÊn waarde
  • OptionSets
    Werken met numerieke waarden (IDs)
  • Default methods
    Overschrijven geen bestaande data
  • Events
    addOnChangeSafe voorkomt dubbele handlers
âš ī¸ Houd rekening met verschillende form types (Main, Quick Create) bij gebruik van events.

💡 Voorbeelden

Waarde ophalen

const name = core.Field.getValue(formContext, "name");

Lookup zetten

core.Field.setLookupValue(
  formContext,
  "parentaccountid",
  "GUID",
  "Contoso",
  "account"
);

Default waarde zetten

core.Field.setDefaultValue(formContext, "name", "Nieuw record");

📊 Samenvatting

✅ Centrale field logica
✅ Ondersteunt alle veldtypes
✅ Veilige en consistente verwerking
✅ Geschikt voor complexe business rules