آنلاین

Formها با Angular Signals

Signal Forms کتابخانه‌ای است که به شما اجازه می‌دهد با تکیه بر foundation reactive مربوط به signalها، form state را در applicationهای Angular مدیریت کنید. با two-way binding خودکار، field access با type safety، و validation مبتنی بر schema، Signal Forms به شما کمک می‌کند formهای robust بسازید.

چرا Signal Forms؟

ساخت form در web applicationها شامل مدیریت چند concern به‌هم‌پیوسته است: track کردن field valueها، validate کردن user input، مدیریت error stateها، و هماهنگ نگه داشتن UI با data model. مدیریت جداگانه این concernها boilerplate code و complexity ایجاد می‌کند.

Signal Forms این چالش‌ها را این‌طور حل می‌کند:

  • هماهنگ‌سازی خودکار state - Form data model را به‌صورت خودکار با form fieldهای bind شده sync می‌کند
  • فراهم کردن type safety - Schemaها و bindingهای کاملا type safe بین UI controlهای شما و data model را پشتیبانی می‌کند
  • Centralize کردن validation logic - همه validation ruleها را در یک محل و با استفاده از validation schema تعریف کنید

Signal Forms در applicationهای جدیدی که با signalها ساخته شده‌اند بهترین نتیجه را می‌دهد. اگر با application موجودی کار می‌کنید که از reactive forms استفاده می‌کند، یا به guaranteeهای production stability نیاز دارید، reactive formها همچنان انتخاب محکمی هستند.

پیش‌نیازها

Signal Forms نیاز دارد به:

  • Angular v21 یا بالاتر

Setup

Signal Forms از قبل در package مربوط به @angular/forms وجود دارد. Functionها و directiveهای لازم را از @angular/forms/signals import کنید:

ts
import {form, FormField, required, email} from '@angular/forms/signals';

Directive مربوط به FormField باید در هر componentای که form fieldها را به HTML inputها bind می‌کند import شود:

ts
@Component({
  // ...
  imports: [FormField],
})

قدم بعدی

برای یادگیری بیشتر درباره نحوه کار Signal Forms، راهنماهای زیر را ببینید: