<div class="content__title">
|
<h1>
|
Form Validation
|
<small>Native Angular input validation</small>
|
</h1>
|
<div class="text-right">
|
<button nz-button (click)="loadData()" [nzLoading]="loading">
|
<span>Load User Data</span>
|
</button>
|
</div>
|
</div>
|
<div nz-row [nzGutter]="16">
|
<div nz-col [nzMd]="24">
|
<nz-card>
|
<form nz-form [formGroup]="form" (ngSubmit)="_submitForm()">
|
<fieldset>
|
<legend>Built-in</legend>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="nickname" nz-form-item-required>
|
<span>
|
Nickname
|
<nz-tooltip [nzTitle]="'What do you want other to call you'">
|
<i nz-tooltip class="anticon anticon-question-circle-o"></i>
|
</nz-tooltip>
|
</span>
|
</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="nickname">
|
<nz-input formControlName="nickname" nzPlaceHolder="minlength=6" [nzId]="'nickname'"></nz-input>
|
<ng-container *ngIf="nickname.dirty || nickname.touched">
|
<p nz-form-explain *ngIf="nickname.errors?.required">Please input your nickname!</p>
|
<p nz-form-explain *ngIf="nickname.errors?.checked">Only input 'cipchk'</p>
|
<p nz-form-explain *ngIf="nickname.errors?.minlength">This field requires a min length</p>
|
</ng-container>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="email" nz-form-item-required>E-mail</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="email">
|
<nz-input formControlName="email" [nzId]="'email'"></nz-input>
|
<div nz-form-explain *ngIf="(email.dirty || email.touched) && email.errors?.email">The input is not valid E-mail!</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="password" nz-form-item-required>Password</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="password">
|
<nz-input formControlName="password" [nzType]="'password'" [nzId]="'password'"></nz-input>
|
<div nz-form-explain *ngIf="(password.dirty || password.touched) && password.errors?.required">Please input your password!</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="checkPassword" nz-form-item-required>Confirm Password</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="checkPassword">
|
<nz-input formControlName="checkPassword" [nzType]="'password'" [nzId]="'checkPassword'"></nz-input>
|
<ng-container *ngIf="checkPassword.dirty || checkPassword.touched">
|
<p nz-form-explain *ngIf="checkPassword.errors?.required">Please confirm your password!</p>
|
<p nz-form-explain *ngIf="checkPassword.errors?.checked">Two passwords that you enter is inconsistent!</p>
|
</ng-container>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="phoneNumber" nz-form-item-required>Phone Number</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="phoneNumber">
|
<nz-input-group [nzCompact]="true">
|
<nz-select formControlName="phoneNumberPrefix" style="width: 25%;">
|
<nz-option [nzLabel]="'+86'" [nzValue]="'+86'"></nz-option>
|
<nz-option [nzLabel]="'+87'" [nzValue]="'+87'"></nz-option>
|
</nz-select>
|
<input formControlName="phoneNumber" id="'phoneNumber'" nz-input style="width: 75%;">
|
</nz-input-group>
|
<div nz-form-explain *ngIf="(phoneNumber.dirty || phoneNumber.touched) && phoneNumber.errors?.required">Please input your phone number!</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="website" nz-form-item-required>Website</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" nzHasFeedback [nzValidateStatus]="website">
|
<nz-input formControlName="website" [nzId]="'website'"></nz-input>
|
<div nz-form-explain *ngIf="(website.dirty || website.touched) && website.errors?.required">Please input website!</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label nz-form-item-required>Status</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" [nzValidateStatus]="status">
|
<nz-radio-group formControlName="status">
|
<label nz-radio [nzValue]="'normal'">
|
<span>Normal</span>
|
</label>
|
<label nz-radio [nzValue]="'lock'">
|
<span>Lock</span>
|
</label>
|
<label nz-radio [nzValue]="'deleted'">
|
<span>Deleted</span>
|
</label>
|
</nz-radio-group>
|
<div nz-form-explain *ngIf="(status.dirty || status.touched) && status.errors?.required">Please choose status!</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label nz-form-item-required>date</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20">
|
<div nz-col [nzSpan]="4">
|
<div nz-form-control [nzValidateStatus]="start">
|
<nz-datepicker formControlName="start"></nz-datepicker>
|
<div nz-form-explain *ngIf="(start.dirty || start.touched) && start.errors?.required">Select date</div>
|
</div>
|
</div>
|
<div nz-col [nzSpan]="1"><p nz-form-split>-</p></div>
|
<div nz-col [nzSpan]="4">
|
<div nz-form-control [nzValidateStatus]="end">
|
<nz-datepicker formControlName="end"></nz-datepicker>
|
<div nz-form-explain *ngIf="(end.dirty || end.touched) && end.errors?.required">Select date</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div nz-form-item nz-row>
|
<div nz-form-label nz-col [nzSm]="4">
|
<label for="captcha" nz-form-item-required>Captcha</label>
|
</div>
|
<div nz-form-control nz-col [nzSm]="20" [nzValidateStatus]="captcha">
|
<div nz-row [nzGutter]="8">
|
<div nz-col [nzSpan]="12">
|
<nz-input formControlName="captcha" [nzId]="'captcha'"></nz-input>
|
</div>
|
<div nz-col [nzSpan]="12">
|
<button nz-button (click)="getCaptcha($event)">Get captcha</button>
|
</div>
|
</div>
|
<div nz-form-extra>We must make sure that your are a human.</div>
|
<div nz-form-explain *ngIf="(captcha.dirty || captcha.touched) && captcha.errors?.required">Please input the captcha you got!</div>
|
</div>
|
</div>
|
</fieldset>
|
<fieldset>
|
<legend>Extended</legend>
|
</fieldset>
|
<div nz-form-item nz-row>
|
<div nz-form-control nz-col [nzSpan]="20" [nzOffset]="4">
|
<label nz-checkbox formControlName="agree">
|
<span>I have read the <a>agreement</a></span>
|
</label>
|
</div>
|
</div>
|
<div nz-form-item nz-row class="mb0">
|
<div nz-form-control nz-col [nzSpan]="20" [nzOffset]="4">
|
<button nz-button [nzType]="'primary'" [disabled]="form.invalid">Register</button>
|
<button nz-button (click)="form.reset()">Reset</button>
|
</div>
|
</div>
|
</form>
|
</nz-card>
|
</div>
|
</div>
|