Skip to content

Commit 7fe6f15

Browse files
authored
errata1am/signalforms: when-Callback für Schema-Funktionen (#97)
angular/angular@df54e6a
1 parent 2e654cc commit 7fe6f15

2 files changed

Lines changed: 52 additions & 5 deletions

File tree

material/errata-1a/README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Errata zur 1. Auflage (2026)"
33
published: 2026-03-13
4-
lastModified: 2026-05-09
4+
lastModified: 2026-05-15
55
hidden: true
66
---
77

@@ -23,7 +23,7 @@ Er ist die moderne und ergonomische Alternative zum etablierten Decorator `@Inje
2323
Der Aufruf kann also direkt ersetzt werden:
2424

2525
```ts
26-
// VORHER
26+
// VORHER (im Buch abgedruckt)
2727
import { Injectable } from '@angular/core';
2828

2929
@Injectable({
@@ -96,3 +96,25 @@ Die abgedruckte Variante mit `useFactory` ist dennoch nicht falsch und kann weit
9696
```
9797

9898

99+
100+
## 25.5.8 Logik für Schema-Funktionen
101+
102+
Im Theoriekapitel zu Signal Forms erläutern wir die Funktionen `disabled()`, `hidden()` und `readonly()`.
103+
Dabei erklären wir auch, dass im zweiten Argument eine Logikfunktion übergeben werden kann.
104+
105+
Die Signatur der Schemafunktionen wurde kurz vor dem finalen Release von Angular 22 noch einmal angepasst.
106+
Die Logik wird nun in der Option `when` notiert.
107+
Diese Änderung ist sinnvoll, weil andere Schemafunktionen ebenfalls ein `when`-Callback unterstützen.
108+
Im Buch ist allerdings noch die alte Schnittstelle abgedruckt.
109+
110+
```ts
111+
// ❌ VORHER (im Buch abgedruckt)
112+
disabled(path.password, (ctx) => !ctx.valueOf(path.username));
113+
disabled(path.password, (ctx) => !ctx.valueOf(path.username) ? 'Username is empty.' : false);
114+
115+
// ✅ NACHHER
116+
disabled(path.password, { when: (ctx) => !ctx.valueOf(path.username) });
117+
disabled(path.password, {
118+
when: (ctx) => !ctx.valueOf(path.username) ? 'Username is empty.' : false
119+
});
120+
```

material/signal-forms/README.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: 'Updates zu Signal Forms'
33
published: 2026-05-06
4-
lastModified: 2026-05-06
4+
lastModified: 2026-05-15
55
hidden: true
66
---
77

88
Im Angular-Buch behandeln wir ausführlich Angulars neuesten Ansatz zur Formularverarbeitung: Signal Forms.
99
Dabei berichten wir über experimentelle Schnittstellen.
1010

11-
**Die gute Nachricht: Signal Forms wurden mit Angular 22 als *stable* markiert. Es gibt gegenüber dem gedruckten Stand im Buch keine nennenswerten Änderungen.**
11+
**Die gute Nachricht: Signal Forms wurden mit Angular 22 als *stable* markiert. Es gibt gegenüber dem gedruckten Stand im Buch keine gravierenden Änderungen.**
1212

1313
Signal Forms können also heute produktiv eingesetzt werden, um Formulare in Angular zu verarbeiten.
1414
Wir empfehlen, neue Formulare sofort mit Signal Forms zu entwickeln.
@@ -19,4 +19,29 @@ In unserer englischsprachigen Artikelserie zu Signal Forms gehen wir auch auf As
1919
- [Part 1: Getting Started with Signal Forms](/blog/2025-10-signal-forms-part1)
2020
- [Part 2: Advanced Validation and Schema Patterns](/blog/2025-10-signal-forms-part2)
2121
- [Part 3: Child Forms, Custom UI Controls and SignalFormsConfig](/blog/2025-10-signal-forms-part3)
22-
- [Part 4: Metadata and Accessibility Handling](/blog/2025-12-signal-forms-part4)
22+
- [Part 4: Metadata and Accessibility Handling](/blog/2025-12-signal-forms-part4)
23+
24+
**In diesem Artikel sammeln wir dennoch einige kleinere Aspekte, die sich nach dem Release des Angular-Buchs geändert haben.**
25+
26+
27+
## 25.5.8 Logik für Schema-Funktionen mit `when`
28+
29+
Im Buch erläutern wir die Funktionen `disabled()`, `hidden()` und `readonly()`.
30+
Dabei erklären wir auch, dass im zweiten Argument eine Logikfunktion übergeben werden kann.
31+
32+
Die Signatur der Schemafunktionen wurde kurz vor dem finalen Release von Angular 22 noch einmal angepasst.
33+
Die Logik wird nun in der Option `when` notiert.
34+
Diese Änderung ist sinnvoll, weil andere Schemafunktionen ebenfalls ein `when`-Callback unterstützen.
35+
Im Buch ist allerdings noch die alte Schnittstelle abgedruckt.
36+
37+
```ts
38+
// ❌ VORHER (im Buch abgedruckt)
39+
disabled(path.password, (ctx) => !ctx.valueOf(path.username));
40+
disabled(path.password, (ctx) => !ctx.valueOf(path.username) ? 'Username is empty.' : false);
41+
42+
// ✅ NACHHER
43+
disabled(path.password, { when: (ctx) => !ctx.valueOf(path.username) });
44+
disabled(path.password, {
45+
when: (ctx) => !ctx.valueOf(path.username) ? 'Username is empty.' : false
46+
});
47+
```

0 commit comments

Comments
 (0)