Loading...
Loading...
Explains the mental model and architecture of the code under `packages/forms/signals`. You MUST use this skill any time you plan to work with code in `packages/forms/signals`
npx skill4agent add angular/angular reference-signal-formspackages/forms/signalsWritableSignal<T>FormControlSignalform(signal)FieldTreemyForm.user.nameFieldNodeapplyapplyEachapplyWhen[formField]FieldNodeFieldNodesrc/field/node.tsstructurevalidationStatevalidinvaliderrorsnodeStatetoucheddirtypristinemetadataStateminmaxrequiredsubmitStateValidationStatesrc/field/validation.tssubmit()FormFieldsrc/directive/form_field_directive.tsFieldNode[formField]<input><select><textarea>FormUiControlFormValueControlControlValueAccessorInteropNgControlSchemasrc/api/structure.tssrc/api/rulesschema(fn)apply(path, schema)requiredpatternminmaxdisabledhiddenform.field.value()// 1. Define Model
const user = signal({name: '', age: 0});
// 2. Define Schema
const userRules = schema((u) => {
required(u.name);
min(u.age, 18);
});
// 3. Create Form
const userForm = form(user, userRules); // OR apply(userForm, userRules)
// 4. Bind in Template
// <input [formField]="userForm.name">packages/forms/signals/src/api/structure.tsformapplypackages/forms/signals/src/api/control.tsFormUiControlpackages/forms/signals/src/field/node.tsFieldNodepackages/forms/signals/src/directive/form_field_directive.ts[formField][formField]