<h3>注册</h3>
|
<form nz-form [formGroup]="form" (ngSubmit)="submit()" role="form">
|
<nz-alert *ngIf="error" [nzType]="'error'" [nzMessage]="error" [nzShowIcon]="true" class="mb-lg"></nz-alert>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="mail">
|
<nz-input formControlName="mail" [nzPlaceHolder]="'邮箱'" [nzSize]="'large'">
|
<ng-template #prefix>
|
<i class="anticon anticon-user"></i>
|
</ng-template>
|
</nz-input>
|
<ng-container *ngIf="mail.dirty || mail.touched">
|
<p nz-form-explain *ngIf="mail.errors?.required">请输入邮箱地址!</p>
|
<p nz-form-explain *ngIf="mail.errors?.email">邮箱地址格式错误!</p>
|
</ng-container>
|
</div>
|
</div>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="password">
|
<nz-popover [nzPlacement]="'right'" [nzTrigger]="'focus'" [(nzVisible)]="visible" nzOverlayClassName="register-password-cdk" [nzOverlayStyle]="{'width.px': 240}">
|
<nz-input nz-popover formControlName="password" [nzPlaceHolder]="'至少6位密码,区分大小写'" [nzType]="'password'" [nzSize]="'large'">
|
<ng-template #prefix>
|
<i class="anticon anticon-lock"></i>
|
</ng-template>
|
</nz-input>
|
<div nz-form-explain *ngIf="(password.dirty || password.touched) && password.errors?.required">请输入密码!</div>
|
<ng-template #nzTemplate>
|
<div style="padding: 4px 0">
|
<ng-container [ngSwitch]="status">
|
<div *ngSwitchCase="'ok'" class="success">强度:强</div>
|
<div *ngSwitchCase="'pass'" class="warning">强度:中</div>
|
<div *ngSwitchDefault class="error">强度:太短</div>
|
</ng-container>
|
<div class="progress-{{status}}">
|
<nz-progress
|
[(ngModel)]="progress" [ngModelOptions]="{standalone: true}"
|
[nzStatus]="passwordProgressMap[status]"
|
[nzStrokeWidth]="6"
|
[nzShowInfo]="false"></nz-progress>
|
</div>
|
<p class="mt-sm">请至少输入 6 个字符。请不要使用容易被猜到的密码。</p>
|
</div>
|
</ng-template>
|
</nz-popover>
|
</div>
|
</div>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="confirm">
|
<nz-input formControlName="confirm" [nzPlaceHolder]="'确认密码'" [nzType]="'password'" [nzSize]="'large'">
|
<ng-template #prefix>
|
<i class="anticon anticon-lock"></i>
|
</ng-template>
|
</nz-input>
|
<ng-container *ngIf="confirm.dirty || confirm.touched">
|
<p nz-form-explain *ngIf="confirm.errors?.required">请确认密码!</p>
|
<p nz-form-explain *ngIf="confirm.errors?.equar">两次输入的密码不匹配!</p>
|
</ng-container>
|
</div>
|
</div>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="mobile">
|
<nz-input-group [nzSize]="'large'" [nzCompact]="true">
|
<nz-select formControlName="mobilePrefix" style="width: 25%;">
|
<nz-option [nzLabel]="'+86'" [nzValue]="'+86'"></nz-option>
|
<nz-option [nzLabel]="'+87'" [nzValue]="'+87'"></nz-option>
|
</nz-select>
|
<input formControlName="mobile" id="'11位手机号码'" nz-input style="width: 75%;">
|
</nz-input-group>
|
<div nz-form-explain *ngIf="(mobile.dirty || mobile.touched) && mobile.errors?.required">请输入手机号!</div>
|
</div>
|
</div>
|
<div nz-form-item>
|
<div nz-form-control [nzValidateStatus]="captcha">
|
<div nz-row [nzGutter]="8">
|
<div nz-col [nzSpan]="16">
|
<nz-input formControlName="captcha" [nzPlaceHolder]="'验证码'" [nzSize]="'large'">
|
<ng-template #prefix>
|
<i class="anticon anticon-mail"></i>
|
</ng-template>
|
</nz-input>
|
</div>
|
<div nz-col [nzSpan]="8">
|
<button nz-button (click)="getCaptcha()" [disabled]="count" [nzSize]="'large'" class="ant-btn__block">{{ count ? count + 's' : '获取验证码' }}</button>
|
</div>
|
</div>
|
<div nz-form-explain *ngIf="(captcha.dirty || captcha.touched) && captcha.errors?.required">请输入验证码!</div>
|
</div>
|
</div>
|
<div nz-form-item>
|
<button nz-button [nzType]="'primary'" [nzLoading]="loading" [nzSize]="'large'" class="submit">
|
<span>注册</span>
|
</button>
|
<a class="login" routerLink="/pro/user/login">使用已有账户登录</a>
|
</div>
|
</form>
|