angular-forms

Build signal-based forms in Angular with schema validation and reactive field state.

Updated Feb 9, 2026
One-click install
npx skills add https://github.com/Blotch-Smart-Frames/Board --skill angular-forms-blotch-smart-frames
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: angular-forms
Source: https://github.com/Blotch-Smart-Frames/Board/tree/main/packages/client/.claude/skills/angular-forms
Command: npx skills add https://github.com/Blotch-Smart-Frames/Board --skill angular-forms-blotch-smart-frames

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building forms in Angular often involves verbose boilerplate, manual two-way binding, and scattered validation logic. This Skill provides patterns for Angular's Signal Forms API, giving you automatic two-way binding, schema-based validation, and reactive field state out of the box. ## Core Features & Use Cases - Signal-Based Form Models: Create forms from writable signals with automatic two-way binding and type-safe field access, including nested objects and dynamic arrays. - Schema-Based Validation: Apply built-in validators (required, email, min, max, pattern), custom sync/async validators, cross-field checks, and conditional validation rules. - Conditional Field State: Control hidden, disabled, and readonly states reactively based on other field values, plus custom FormValueControl components like star ratings. - Use Case: You need a signup form with email validation, password confirmation matching, and an async username availability check. This Skill shows how to wire all of that declaratively in a single form schema. ## Quick Start Ask the AI to create an Angular signal form with validation for your data model, for example a login form with required email and password fields.

Frequently Asked Questions about angular-forms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a signal-based form in Angular?▼

Create a writable signal as the form model, then pass it to the form() function from @angular/forms/signals. Bind inputs in the template with the [formField] directive, and access field state like value(), valid(), and touched() as reactive signals.

How do I add validation to Angular Signal Forms?▼

Pass a schema callback to the form() function and apply validators like required, email, min, max, minLength, and pattern to schema paths. Custom validators use validate(), async HTTP checks use validateHttp(), and conditional rules accept a when option.

Signal Forms vs Reactive Forms in Angular, which should I use?▼

Signal Forms are experimental in Angular v21 and recommended for new projects wanting automatic two-way binding and signal-based state. Reactive Forms remain the production-stable choice, with typed FormGroup, FormBuilder, and FormArray patterns covered in the references.

How do I validate that two password fields match in Angular?▼

Use a cross-field validator with validate() on the confirmPassword field, comparing its value against valueOf(schemaPath.password). Return an error object with kind 'mismatch' when the values differ, or null when they match.

Can I build a custom form control with Angular Signal Forms?▼

Yes, implement the FormValueControl interface with a value model signal and optional inputs like readonly, invalid, and errors. The custom component then binds directly via [formField], as shown in the star rating example.

When should I not use Angular Signal Forms?▼

Avoid Signal Forms when you need production stability guarantees, since the API is experimental in Angular v21. Also skip it for template-driven forms without signals or when using third-party form libraries like Formly or ngx-formly.