Appearance
State And Properties
BaseForm tracks the original state and the current state of each field.
ts
form.isDirty() // any field modified
form.isDirty('email') // specific field modified
form.touch('email')
form.isTouched('email')Properties
properties.<field> exposes:
model(aComputedRefcompatible withv-model)errors(array)dirtyandtouched
Example:
vue
<input v-model="form.properties.email.model.value" />
<div v-if="form.properties.email.dirty">This field has been changed</div>
<div v-if="form.properties.email.errors.length">{{ form.properties.email.errors[0] }}</div>Nested Object Properties
If a field is declared as PropertyAwareObject, its nested keys are also exposed as property-aware fields.
vue
<template>
<input v-model="form.properties.payload.command.model.value" />
<div v-if="form.properties.payload.command.dirty">Command changed</div>
<div v-if="form.properties.payload.command.errors.length">
{{ form.properties.payload.command.errors[0] }}
</div>
</template>This is opt-in. Plain objects do not expose nested property-aware keys.