angular / angular/components

mat-form-field required fields that are disabled should have the option to show the asterisk

Open
#10,270 6 comments 12 reactions 0 assignees View on GitHub
area: material/form-field feature P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

#### Bug, feature request, or proposal:
Proposal

#### What is the expected behavior?
For a control that is required and disabled the asterisk has the option to be shown.

#### What is the current behavior?
When a control is disabled the asterisk is removed, even when marked as required. This will show a form as requiring less fields to be populated than actually is required.

#### What are the steps to reproduce?
Providing a StackBlitz reproduction is the *best* way to share your issue.

StackBlitz starter: https://goo.gl/wwnhMV

https://stackblitz.com/edit/angular-material2-issue-sezut1?file=app/app.component.ts

#### What is the use-case or motivation for changing an existing behavior?
We have a form that requires you to choose a hierarchy location first - which will then go off and get related data. The selects are required but disabled to start with because they can't be interacted with until the hierarchy location is selected. Once hierarchy location is selected, selects get populated and become enabled.

The issue here is the drip-feeding, the user will be shown X controls on load that are required - as the user is actively filling in the form they will be told more controls are required. So the initial X controls that were required is now incorrect and now more controls are required to be populated.

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 5.2.2. Material 5.1.0

#### Is there anything else we should know?
I found where this change was done, in request to robmv's proposal (https://github.com/angular/material2/issues/8251). I believe there is a valid use-case where asterisk's should not be shown, but in our use-case we need to show the asterisk even when disabled.

Contributor guide

Open the contributing guide

Research direction

Start with the mat-form-field behavior reproduced in the linked StackBlitz, especially app/app.component.ts, and inspect how a required disabled control is represented. Determine how an option to retain the asterisk should be exposed while preserving the existing behavior by default. Done means the reproduction shows the required marker for disabled controls when that option is enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.