XTend Dokumentation
Dunkelmodus aktivieren

XTend Developer Center

Build with XTend today

RMT Reference: Validation und Transitions

Validation blockiert deklarativ Actions. Transitions beschreiben den Wechsel zwischen Surface-Gruppen.

Syntax

OperatorFormAllowed contextsParametersFunctionDiagnosticsRelated operators
mode blockingmode blockingvalidationModus blockingBlockiert Ziel-Actions bei ungültigen Feldern.Unbekannte Modi werden gemeldet.target action
target actiontarget action submitvalidationAction-ReferenzBestimmt, welche Action validiert wird.Target-Kind und Referenz müssen vorhanden sein.action
fieldfield app.email required emailvalidationState-Pfad, RegelnDeklariert ein validiertes Feld.Nur bekannte Regeln sind erlaubt.required, message
requiredrequiredfieldFlagFeld muss einen Wert besitzen.Nur in field.message
emailemailfieldFlagFeld muss E-Mail-Form haben.Nur in field.pattern
minLengthminLength 3fieldZahlSetzt minimale Zeichenanzahl.Wert muss folgen.maxLength
maxLengthmaxLength 80fieldZahlSetzt maximale Zeichenanzahl.Wert muss folgen.minLength
patternpattern "^[a-z]+$"fieldStringDeklariert einen Pattern-Vertrag.Wert muss folgen.email
messagemessage "Enter email"fieldStringLiefert eine nutzbare Fehlermeldung.Wert muss folgen.field
includeinclude shared.emailvalidationValidation-ReferenzBezieht eine andere Validation-Gruppe ein.Referenz muss vorhanden sein.validation
trigger actiontrigger action submittransitionAction-ReferenzStartet den Surface-Wechsel nach einer Action.Trigger-Kind muss vorhanden sein.action
from surfacesfrom surfaces [form]transitionArray oder WertDeklariert ausgehende Surface-Gruppe.Wert muss parsebar sein.to surfaces
to surfacesto surfaces [done]transitionArray oder WertDeklariert eingehende Surface-Gruppe.Wert muss parsebar sein.from surfaces
use animationuse animation app.motiontransitionAnimation-ReferenzVerwendet ein benanntes AnimationEngine-Preset wieder.Referenz muss einen Animation-Record benennen.animation
effecteffect slide-lefttransitionEffektnameWählt den visuellen Wechsel.Unbekannte Effekte können katalogseitig gemeldet werden.durationMs
durationMsdurationMs 220transitionZahlSetzt Dauer in Millisekunden.Wert muss folgen.easing
easingeasing "ease-out"transitionStringSetzt CSS-Easing.Wert muss folgen.effect
timelinetimeline enter then exittransitionTimeline-ModusDeklariert Enter-/Exit-Sequenzierung.Unbekannte Timeline-Modi werden gemeldet.effect
layoutKeylayoutKey "card"transitionstabiler KeyBindet shared-element und layout-flip an einen Layout-Key.Für layoutbewusste Effekte erforderlich.shared-element, layout-flip
interruptinterrupt replacetransitioncancel, finish oder replaceWählt, wie eine laufende Transition unterbrochen wird.Unbekannte Policies werden gemeldet.trigger action
reducedMotionreducedMotion fadetransitioninstant, fade oder noneDeklariert den Fallback für Reduced-Motion-Hosts.Unbekannte Policies werden gemeldet.durationMs
lane transitionlane transitiontransitionLane-NamePlant den Wechsel auf der Transition-Lane.Lane muss vorhanden oder katalogisiert sein.lane

Allowed contexts

Validation-Clauses stehen nur in validation. Transition-Clauses stehen nur in transition.

Parameters

Validation-Felder zeigen auf State-Pfade. Transitions zeigen auf Surface-Identifier und Action-Trigger.

Description

Validation und Transitions bleiben deklarativ, damit Formularfluss und Surface-Wechsel prüfbar bleiben.

Examples

template reference.validation {
  state contact.email type string initial ""
  state app.status type object preserve {
    initial {
      text "Ready"
    }
  }

  action contact.next {
    input email string
    reduce state.app.status.text = "Next"
    emit contact.nextRequested with email input.email
  }

  validation contact.form {
    mode blocking
    target action contact.next
    field contact.email required email minLength 3 maxLength 80 pattern ".+@.+" message "Enter a valid email."
    include shared.email
  }

  animation contact.motion {
    effect fade
    durationMs 180
    reducedMotion fade
  }

  transition contact.toSummary {
    trigger action contact.next
    from surfaces [contact.form]
    to surfaces [contact.summary]
    use animation contact.motion
    effect slide-left
    durationMs 220
    easing "ease-out"
    timeline enter then exit
    layoutKey "contact-summary"
    interrupt replace
    reducedMotion fade
    lane transition
  }

  portal app.root root "#app" layer surface
  surface contact.form kind form component x-form {
    portal app.root
    lane user-blocking weight 85 {
      mount contact.form from endpoint contact.form
    }
  }
}

Diagnostics

Unbekannte Field-Regeln, fehlende Action-Targets, unvollständige Transition-Targets und fehlende layoutKey-Werte bei layoutbewussten Effekten werden gemeldet.

action, field, surface, lane, effect, payload, animation, use animation.

Weiterführend

Der RMT-Referenzindex führt von Validation- und Transition-Records zu den zugehörigen Ausdrucksformen. Der AnimationEngine-Guide verbindet diese Operatoren mit einem vollständigen AOT- und Runtime-Beispiel. Verwandter Artikel

(c) 2026 - CCS Networks | Powered by XRouter PHP Extension