SuperAPI AI Directory

angular-forms

Frontend & websites

View repository

Updated 10-16 05:51

About this skill

Forms

Priority: P2 (MEDIUM)

1. Use Strictly Typed Reactive Forms

  • Prefer Reactive Forms to Template-Driven for complex inputs.
  • Define typed FormGroup<T> with explicit control types — never use untyped FormGroup.

See typed forms for typed FormGroup examples.

2. Extract Validation Logic

  • Create standalone validator functions in separate file.
  • Name the validator module as a separate file (for example, validators.ts) in the response and keep validation out of the component class.
  • Sync valueChanges to stores using takeUntilDestroyed().

See typed forms for standalone validator examples.

3. Ensure NonNullable Controls

  • Use fb.nonNullable.group(...) or nonNullable: true on individual controls.
  • This ensures form values always strings — avoids null in form values.

Anti-Patterns

  • No Template-Driven Forms: Use Reactive Forms for any non-trivial inputs.
  • No untyped FormGroup: Always use strictly typed FormGroup<T>.
  • No validation in component: Extract into standalone validator functions.

References

Canonical response anchors

  • Additional task-grounded exact anchors: separate file