mat-form-field required fields that are disabled should have the option to show the asterisk
- 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
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