From c5e162b1b0b6cbf9a50f075651c13dcc9312062e Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 29 Sep 2017 22:10:43 +0200 Subject: [PATCH] fix(radio): defaulting to invalid name attribute (#7131) Fixes the radio button defaulting to `name="undefined"` for the underlying input, if the consumer hasn't passed in a name. Relates to #7130. --- src/lib/radio/radio.html | 2 +- src/lib/radio/radio.spec.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/radio/radio.html b/src/lib/radio/radio.html index c6280776061..bd68e10b34f 100644 --- a/src/lib/radio/radio.html +++ b/src/lib/radio/radio.html @@ -15,7 +15,7 @@ [id]="inputId" [checked]="checked" [disabled]="disabled" - [name]="name" + [attr.name]="name" [required]="required" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledby" diff --git a/src/lib/radio/radio.spec.ts b/src/lib/radio/radio.spec.ts index 96f0447a9f3..88c3b1175a8 100644 --- a/src/lib/radio/radio.spec.ts +++ b/src/lib/radio/radio.spec.ts @@ -638,6 +638,12 @@ describe('MatRadio', () => { expect(document.activeElement).toBe(fruitRadioNativeInputs[i]); } }); + + it('should not add the "name" attribute if it is not passed in', () => { + const radio = fixture.debugElement.nativeElement.querySelector('#nameless input'); + expect(radio.hasAttribute('name')).toBe(false); + }); + }); describe('with tabindex', () => { @@ -711,6 +717,7 @@ class RadiosInsideRadioGroup { [aria-labelledby]="ariaLabelledby"> Raspberry + No name ` }) class StandaloneRadioButtons {