From 6f4ee2c74c01e3bb58b8eafcd3d366dc68afffc0 Mon Sep 17 00:00:00 2001 From: Thomas Lenz <Thomas.Lenz@mni.thm.de> Date: Fri, 9 Mar 2018 19:32:19 +0100 Subject: [PATCH] Implement check for valid inputs (no empty input-fields allowed) --- src/app/room-creation/room-creation.component.html | 14 ++++++++------ src/app/room-creation/room-creation.component.ts | 5 +++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/app/room-creation/room-creation.component.html b/src/app/room-creation/room-creation.component.html index 35313ed52..958436491 100644 --- a/src/app/room-creation/room-creation.component.html +++ b/src/app/room-creation/room-creation.component.html @@ -1,19 +1,21 @@ <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="10px"> <mat-form-field> - <input matInput #longRoomName class="input-block" type="text" placeholder="Name" maxlength="50" + <input (keypress)="resetEmptyInputs()" matInput #longRoomName class="input-block" type="text" placeholder="Name" maxlength="50" [(ngModel)]="longName"/> - <mat-hint align="start"><strong>Max. letters / signs:</strong></mat-hint> - <mat-hint align="end">{{longRoomName.value.length}} / 50</mat-hint> + <mat-hint align="start" *ngIf="!emptyInputs"><strong>Max. letters / signs:</strong></mat-hint> + <mat-hint align="end" *ngIf="!emptyInputs">{{longRoomName.value.length}} / 50</mat-hint> + <mat-hint align="start" *ngIf="emptyInputs"><strong>Input is required</strong></mat-hint> <button mat-button *ngIf="longName" matSuffix mat-icon-button aria-label="Clear" (click)="longName=''"> <mat-icon>close</mat-icon> </button> </mat-form-field> <mat-form-field> - <input matInput #shortRoomName class="input-block" type="text" placeholder="Short name" maxlength="8" + <input (keypress)="resetEmptyInputs()" matInput #shortRoomName class="input-block" type="text" placeholder="Short name" maxlength="8" [(ngModel)]="shortName"/> - <mat-hint align="start"><strong>Max. letters / signs:</strong></mat-hint> - <mat-hint align="end">{{shortRoomName.value.length}} / 8</mat-hint> + <mat-hint align="start" *ngIf="!emptyInputs"><strong>Max. letters / signs:</strong></mat-hint> + <mat-hint align="end" *ngIf="!emptyInputs">{{shortRoomName.value.length}} / 8</mat-hint> + <mat-hint align="start" *ngIf="emptyInputs"><strong>Input is required</strong></mat-hint> <button mat-button *ngIf="shortName" matSuffix mat-icon-button aria-label="Clear" (click)="shortName=''"> <mat-icon>close</mat-icon> </button> diff --git a/src/app/room-creation/room-creation.component.ts b/src/app/room-creation/room-creation.component.ts index dddc2900b..cc79c96ef 100644 --- a/src/app/room-creation/room-creation.component.ts +++ b/src/app/room-creation/room-creation.component.ts @@ -13,6 +13,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; export class RoomCreationComponent implements OnInit { longName: string; shortName: string; + emptyInputs = false; constructor(private roomService: RoomService, private router: Router, @@ -27,11 +28,15 @@ export class RoomCreationComponent implements OnInit { ngOnInit() { } + resetEmptyInputs(): void { + this.emptyInputs = false; + } addRoom(longRoomName: string, shortRoomName: string) { longRoomName = longRoomName.trim(); shortRoomName = shortRoomName.trim(); if (!longRoomName || !shortRoomName) { + this.emptyInputs = true; return; } this.roomService.addRoom({ name: longRoomName, abbreviation: shortRoomName } as Room) -- GitLab