|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <h3>注册</h3>
- <form nz-form [formGroup]="form" (ngSubmit)="submit()" role="form">
- @if (error) {
- <nz-alert [nzType]="'error'" [nzMessage]="error" [nzShowIcon]="true" class="mb-lg" />
- }
- <nz-form-item>
- <nz-form-control [nzErrorTip]="mailErrorTip">
- <nz-input-group nzSize="large" nzAddonBeforeIcon="user">
- <input nz-input formControlName="mail" placeholder="Email" />
- </nz-input-group>
- <ng-template #mailErrorTip let-i>
- @if (i.errors?.required) {
- 请输入邮箱地址!
- }
- @if (i.errors?.email) {
- 邮箱地址格式错误!
- }
- </ng-template>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-control [nzErrorTip]="'请输入密码!'">
- <nz-input-group
- nzSize="large"
- nzAddonBeforeIcon="lock"
- nz-popover
- nzPopoverPlacement="right"
- nzPopoverTrigger="focus"
- [(nzPopoverVisible)]="visible"
- nzPopoverOverlayClassName="register-password-cdk"
- [nzPopoverOverlayStyle]="{ 'width.px': 240 }"
- [nzPopoverContent]="pwdCdkTpl"
- >
- <input nz-input type="password" formControlName="password" placeholder="Password" />
- </nz-input-group>
- <ng-template #pwdCdkTpl>
- <div style="padding: 4px 0">
- @switch (status) {
- @case ('ok') {
- <div class="success">强度:强</div>
- }
- @case ('pass') {
- <div class="warning">强度:中</div>
- }
- @default {
- <div class="error">强度:太短</div>
- }
- }
- <div class="progress-{{ status }}">
- <nz-progress [nzPercent]="progress" [nzStatus]="passwordProgressMap[status]" [nzStrokeWidth]="6" [nzShowInfo]="false" />
- </div>
- <p class="mt-sm">请至少输入 6 个字符。请不要使用容易被猜到的密码。</p>
- </div>
- </ng-template>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-control [nzErrorTip]="confirmErrorTip">
- <nz-input-group nzSize="large" nzAddonBeforeIcon="lock">
- <input nz-input type="password" formControlName="confirm" placeholder="Confirm Password" />
- </nz-input-group>
- <ng-template #confirmErrorTip let-i>
- @if (i.errors?.required) {
- 请确认密码!
- }
- @if (i.errors?.matchControl) {
- 两次输入的密码不匹配!
- }
- </ng-template>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-control [nzErrorTip]="mobileErrorTip">
- <nz-input-group nzSize="large" [nzAddOnBefore]="addOnBeforeTemplate">
- <ng-template #addOnBeforeTemplate>
- <nz-select formControlName="mobilePrefix" style="width: 100px">
- <nz-option [nzLabel]="'+86'" [nzValue]="'+86'" />
- <nz-option [nzLabel]="'+87'" [nzValue]="'+87'" />
- </nz-select>
- </ng-template>
- <input formControlName="mobile" nz-input placeholder="Phone number" />
- </nz-input-group>
- <ng-template #mobileErrorTip let-i>
- @if (i.errors?.required) {
- 请输入手机号!
- }
- @if (i.errors?.pattern) {
- 手机号格式错误!
- }
- </ng-template>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <nz-form-control [nzErrorTip]="'请输入验证码!'">
- <div nz-row [nzGutter]="8">
- <div nz-col [nzSpan]="16">
- <nz-input-group nzSize="large" nzAddonBeforeIcon="mail">
- <input nz-input formControlName="captcha" placeholder="Captcha" />
- </nz-input-group>
- </div>
- <div nz-col [nzSpan]="8">
- <button type="button" nz-button nzSize="large" (click)="getCaptcha()" [disabled]="count > 0" nzBlock [nzLoading]="loading">
- {{ count ? count + 's' : ('获取验证码') }}
- </button>
- </div>
- </div>
- </nz-form-control>
- </nz-form-item>
- <nz-form-item>
- <button nz-button nzType="primary" nzSize="large" type="submit" [nzLoading]="loading" class="submit">
- 注册
- </button>
- <a class="login" routerLink="/passport/login">使用已有账户登录</a>
- </nz-form-item>
- </form>
|