-<div>
- <label for="name">Name: </label>
- <input id="name" type="text" [formControl]="name">
- <button type="button" (click)="updateName()">Update Name</button>
+<div class="panel panel-primary">
+ <div class="panel-heading">
+ <h3 class="panel-title">Please pick a Username</h3>
+ </div>
+ <div class="panel-body form-inline">
+ <div class="form-group">
+ <div class="input-group input-group-primary">
+ <label for="name" class="input-group-addon">Username</label>
+ <input id="name" type="text" class="form-control" placeholder="Enter your username" [formControl]="usernameForm">
+ </div>
+ <div *ngIf="usernameForm.invalid && (usernameForm.dirty || usernameForm.touched)"
+ class="alert alert-danger">
+
+ <div *ngIf="usernameForm.errors?.['required']">
+ Name is required.
+ </div>
+ <div *ngIf="usernameForm.hasError('whitespace')">The username must not be empty</div>
+ </div>
+ </div>
+ <button type="submit" class="btn btn-primary" (click)="updateName()" [disabled]="usernameForm.invalid">Pick Name</button>
+ </div>
</div>
-<p>Value: {{ name.value }}</p>
+<p>Value: {{ usernameForm.value }}</p>
+<p>Form Status: {{ usernameForm.status }}</p>