Skip to content

Commit c197040

Browse files
authored
Merge pull request #73 from ioet/50-improve-required-field-look-and-feel
closes #50
2 parents bc7e005 + 5af84ac commit c197040

File tree

3 files changed

+47
-15
lines changed

3 files changed

+47
-15
lines changed

src/app/modules/activities-management/components/create-activity/create-activity.component.html

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,17 @@
33
<h1 class="card-title">Activity</h1>
44
<div class="form-group">
55
<label for="name">Name:</label>
6-
<input class="form-control" id="name" type="text" formControlName="name" required>
7-
<div class="alert alert-danger" *ngIf="(name.dirty || name.touched) && name.invalid && name.errors.required">
8-
Activity name is required.</div>
6+
<input
7+
class="form-control"
8+
id="name"
9+
type="text"
10+
formControlName="name"
11+
[class.is-invalid]="name.invalid && name.touched"
12+
required
13+
/>
14+
<div class="text-danger" *ngIf="(name.dirty || name.touched) && name.invalid && name.errors.required">
15+
Activity name is required.
16+
</div>
917
</div>
1018

1119
<div class="form-group">
@@ -19,4 +27,4 @@ <h1 class="card-title">Activity</h1>
1927
</div>
2028
</div>
2129
</form>
22-
</div>
30+
</div>

src/app/modules/activities-management/components/create-activity/create-activity.component.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ import { Activity } from '../../../shared/models';
55
@Component({
66
selector: 'app-create-activity',
77
templateUrl: './create-activity.component.html',
8-
styleUrls: ['./create-activity.component.scss']
8+
styleUrls: ['./create-activity.component.scss'],
99
})
1010
export class CreateActivityComponent {
11-
1211
activityForm: FormGroup;
1312

1413
@Input()
@@ -17,7 +16,7 @@ export class CreateActivityComponent {
1716
constructor(private formBuilder: FormBuilder) {
1817
this.activityForm = this.formBuilder.group({
1918
name: ['', Validators.required],
20-
description: ['']
19+
description: [''],
2120
});
2221
}
2322

@@ -35,5 +34,4 @@ export class CreateActivityComponent {
3534
get description() {
3635
return this.activityForm.get('description');
3736
}
38-
3937
}

src/app/modules/project-management/components/create-project/create-project.component.html

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,52 @@ <h1 class="card-title">Project</h1>
44

55
<div class="form-group">
66
<label for="name">Name:</label>
7-
<input class="form-control" id="name" type="text" formControlName="name" required>
8-
<p class="alert alert-danger" *ngIf="(name.dirty || name.touched) && name.invalid && name.errors.required">Name Project is required.</p>
7+
<input
8+
class="form-control"
9+
id="name"
10+
type="text"
11+
formControlName="name"
12+
[class.is-invalid]="name.invalid && name.touched"
13+
required
14+
/>
15+
<p class="text-danger" *ngIf="(name.dirty || name.touched) && name.invalid && name.errors.required">
16+
Project name is required.
17+
</p>
918
</div>
1019

1120
<div class="form-group">
1221
<label for="details">Details:</label>
13-
<textarea class="form-control" rows="3" id="details" type="text" formControlName="details" required></textarea>
14-
<p class="alert alert-danger" *ngIf="(details.dirty || details.touched) && details.invalid && details.errors.required">Details Project is required.</p>
22+
<textarea
23+
class="form-control"
24+
rows="3"
25+
id="details"
26+
type="text"
27+
formControlName="details"
28+
[class.is-invalid]="details.invalid && details.touched"
29+
required
30+
></textarea>
31+
<p class="text-danger" *ngIf="(details.dirty || details.touched) && details.invalid && details.errors.required">
32+
Project details are required.
33+
</p>
1534
</div>
1635

1736
<div class="form-group">
1837
<label for="status">Status:</label>
1938
<select class="form-control" formControlName="status">
20-
<option *ngFor="let status of projectStatus" [value]="status">{{status}}</option>
39+
<option
40+
*ngFor="let status of projectStatus"
41+
[class.is-invalid]="status.invalid && status.touched"
42+
[value]="status"
43+
>{{ status }}</option
44+
>
2145
</select>
22-
<p class="alert alert-danger" *ngIf="(status.dirty || status.touched) && status.invalid && status.errors.required">Status Project is required.</p>
46+
<p class="text-danger" *ngIf="(status.dirty || status.touched) && status.invalid && status.errors.required">
47+
Project status is required.
48+
</p>
2349
</div>
2450

2551
<div class="form-group form-check" [hidden]="!projectToEdit">
26-
<input type="checkbox" class="form-check-input" id="completedProject" formControlName="completed">
52+
<input type="checkbox" class="form-check-input" id="completedProject" formControlName="completed" />
2753
<label class="form-check-label" for="completedProject">Completed project</label>
2854
</div>
2955
<div class="btn-toolbar" role="toolbar">

0 commit comments

Comments
 (0)