From cf57c01ca655bd4ed450ccaee885362d6332d4e3 Mon Sep 17 00:00:00 2001 From: kirjs Date: Wed, 17 Dec 2025 14:25:20 -0500 Subject: [PATCH] docs(forms): Add a section for automatic form binding (#66111) To avoid manually adding classes like `.ng-valid`, `.ng-dirty` etc to every field, you can provide a global configuration using `provideSignalFormsConfig`. PR Close #66111 --- .../content/guide/forms/signals/migration.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/adev/src/content/guide/forms/signals/migration.md b/adev/src/content/guide/forms/signals/migration.md index c22328c2643..06f079b60de 100644 --- a/adev/src/content/guide/forms/signals/migration.md +++ b/adev/src/content/guide/forms/signals/migration.md @@ -212,3 +212,24 @@ const formValue = computed(() => ({ ## Bottom-up migration This is coming soon. + +## Automatic status classes + +To avoid manually adding classes like `.ng-valid`, `.ng-dirty` etc to every field, you can provide a global configuration using `provideSignalFormsConfig`. + +```typescript +import {provideSignalFormsConfig} from '@angular/forms/signals'; + +bootstrapApplication(App, { + providers: [ + provideSignalFormsConfig({ + classes: { + 'ng-valid': ({state}) => state().valid(), + 'ng-invalid': ({state}) => state().invalid(), + 'ng-touched': ({state}) => state().touched(), + 'ng-dirty': ({state}) => state().dirty(), + }, + }), + ], +}); +```