Source:  Twitter logo

I have a reactive form created in component and some formControls defined on it.

Now i need to disable one of the radio button from a radio button group based on some condition.

How do i do it while creating formControl?

PFB the code snippet:

createForm() {
this.heroForm ={
            updateAction: new FormControl({ value: '' })


inside my template:

    <div class="form-group confirm-action-radio-container" formGroupName="confirmActionRadioGrp">
<input  type="radio"  class="custom-control-input" value="1" formControlName="updateAction">
    <input  type="radio"  class="custom-control-input" value="2" formControlName="updateAction">
    <input  type="radio"  class="custom-control-input" value="3" formControlName="updateAction"></div>

Now how to disable one of them conditionally? when using [disable] attribute i get some warning in browser console. Angular doesn't encourage doing it

Ignore the browser warning and use the disabled attribute on the input. If you'd like you can use :


instead which should silence the warning. Angular reactive forms do not currently support disabling individual radio buttons in a group through the formcontrol / formgroup API as per this open issue:

7 users liked answer #0dislike answer #07
bryan60 profile pic

For Reactive Form controls, you should set disabled either when the form is being made, or later on. This is how you do both:

this.heroForm ={
    updateAction: [{ value: null, disabled: true }]



Otherwise, if you don't want to disable a Reactive Form control, you will use [disabled]="".

3 users liked answer #1dislike answer #13
RockGuitarist1 profile pic

Embedding the radio button with a fieldset is a further option to disable that particular radio button:

<div class="form-group confirm-action-radio-container" formGroupName="confirmActionRadioGrp">
    <fieldset [disabled]="myDisabledCondition || null">
        <input  type="radio"  class="custom-control-input" value="1" formControlName="updateAction"
    <input  type="radio"  class="custom-control-input" value="2" formControlName="updateAction">
    <input  type="radio"  class="custom-control-input" value="3" formControlName="updateAction">

See also

0 users liked answer #2dislike answer #20
Markus Pscheidt profile pic
Markus Pscheidt

Copyright © 2022 QueryThreads

All content on Query Threads is licensed under the Creative Commons Attribution-ShareAlike 3.0 license (CC BY-SA 3.0).