Skip to content

Signal Forms interop NgControl causes Ignite UI Angular form control initialization failure #17556

Description

@RivaIvanova

Description

Ignite UI's form controls still read legacy observables from NgControl. They subscribe to statusChanges (and, in the input group, valueChanges) from ngAfterViewInit to drive invalid styling. Signal Forms provides an interop NgControl backed by signals instead, which carries neither observable. The subscriptions fail with "Cannot read properties of undefined (reading 'pipe')"/Cannot read properties of undefined (reading 'subscribe'), and the control never finishes wiring itself up. Interacting with the controls results in: this.ngControl.control.markAsTouched is not a function.The issue occurs when using [formField] on an Ignite UI control.

<igx-input-group>
    <input igxInput type="text" [formField]="userForm.firstName" />
    <label igxLabel>First Name</label>
</igx-input-group>
interface User {
    firstName: string;
}

public readonly userSignal = signal<User>({
    firstName: '',
});
public readonly userForm = form(this.userSignal, (path) => {
    required(path.firstName);
});

Framework

Angular

Angular Version

22.1

Ignite UI for Angular Version

22.1.1

Component / Area

Other

Browser

Chrome

Operating System

No response

Command Not Working

Steps to Reproduce

  1. Use [formField] on an Ignite UI control (or use the attached sample).
  2. Open the DevTools Console and observe the errors.
  3. Interact with the control.

Actual Result

Image

Expected Result

No errors on initialization and when interacting with the controls.

Reproduction URL

No response

Attachments

SignalForm.zip

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

🐛 bugAny issue that describes a bug✅ status: resolvedApplies to issues that have pending PRs resolving them, or PRs that have already merged.forms: validationForms validation related, including ngModel.status aka VALID/INVALID/TOUCHED/PRISTINE etc.signal-formsversion: 21.2.xversion: 22.1.xversion: 22.2.x

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions