Skip to content

feat(forms): add hasError to signal forms field state#67691

Open
adam-l wants to merge 2 commits intoangular:mainfrom
adam-l:feat/signal-forms-has-error
Open

feat(forms): add hasError to signal forms field state#67691
adam-l wants to merge 2 commits intoangular:mainfrom
adam-l:feat/signal-forms-has-error

Conversation

@adam-l
Copy link

@adam-l adam-l commented Mar 15, 2026

Add a hasError(kind) helper to Signal Forms field state.

This makes it easier to check for specific validation errors in templates without
depending on positional access to errors(), such as errors()[0] or
errors()[1].

The new helper helps avoid "magic numbers" when rendering validation messages.

Closes #66624
Related to #63905

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.dev application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Signal Forms field state exposes errors(), but it does not provide a direct way to check whether a field currently has a validation error of a specific kind.

As a result, templates may need to inspect the returned error array directly, which can lead to patterns that depend on error ordering and the use of "magic numbers" such as errors()[0] and errors()[1].

Issue Number: N/A

What is the new behavior?

Signal Forms field state now provides a hasError(kind) helper that returns whether the field currently has a validation error of the given kind.

This allows templates to check for specific validation errors directly and helps avoid "magic numbers" when rendering validation messages.

Does this PR introduce a breaking change?

  • Yes
  • No

adam-l added 2 commits March 15, 2026 01:33
Add a `hasError(kind)` helper on Signal Forms field state.

This avoids relying on positional access to `errors()`, such as `errors()[0]`,
when rendering validation messages in templates and brings the API closer to
the `hasError()` helper available on reactive forms controls.

Closes angular#66624
Related to angular#63905
@pullapprove pullapprove bot requested a review from JeanMeche March 15, 2026 02:21
@angular-robot angular-robot bot added detected: feature PR contains a feature commit area: forms labels Mar 15, 2026
@ngbot ngbot bot added this to the Backlog milestone Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Feature Request: "hasError" for Signal Forms in order to avoid the problem of "magic numbers"

2 participants