are reactive forms the way to go in order to have a component that can listen for changes in the validity status of the form it contains and execute some compoment's methods?
It is easy to disable the submit button in the template using templateRef like [disabled]="#myForm.invalid"
, but this does not involve the component's logic.
Looking at template forms' doc I did not find a way
If you want to get only the status
and not the value
you can use statusChanges
:
export class Component {
@ViewChild('myForm') myForm;
this.myForm.statusChanges.subscribe(
result => console.log(result)
);
}
If you even want data changes, you can subscribe to the valueChanges
of the form
and check the status of the form using this.myForm.status
:
export class Component {
@ViewChild('myForm') myForm;
this.myForm.valueChanges.subscribe(
result => console.log(this.myForm.status)
);
}
Possible values of status are: VALID, INVALID, PENDING, or DISABLED.