zoukankan      html  css  js  c++  java
  • [Angular2 Form] Check password match

    Learn how to create a custom validator to check whether passwords match.

    <h1>password match</h1>
    <form novalidate autocomplete="off" [formGroup]="signupForm">
      <div class="form-field">
        <label>Password:</label>
        <input type="text" formControlName="password" [(ngModel)]="signup.password" name="password">
      </div>
      <div class="form-field">
        <label>Confirm Password: </label>
        <input type="text" formControlName="confirm" [(ngModel)]="signup.confirm" name="confrim"></div>
    </form>
        this.signupForm = fb.group({
          password: [
            '',
            Validators.required
          ],
          confirm: [
            '',
            [
              Validators.required,
              confirmPasswords.bind(undefined, this.signup)
            ]
          ]
        });

    confirmPasword validator is just a function, also a curry function. So it means it will be invoked when we pass the value 'confirm' password field. 

    So if we want to send extra params, we can use '.bind(undefined, extraParam)'.

    bind to undefined context, will keep the context when it get invoked, then send a extraParam

    The extraParam will be 'passwords' and the value later be passed in is 'confirm'.

    confirmPassword.ts:

    export function confirmPasswords(passwords, confirm) {
      const valid = passwords.password&& passwords.password === confirm.value;
      return valid ? null : {
        confirmPassword: {
          valid: false,
          message: "Two passwrods are not the same"
        }
      };
    }
  • 相关阅读:
    java加密解密用法
    进程和线程
    office使用技巧
    apktool+dex2jar+jd_gui
    shell编程学习
    编程常犯的错误
    编程语言学习清单
    使用github托管自己的项目
    c# 异常 的 异想
    DNLA自学(一) UPnP设备发现
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6012367.html
Copyright © 2011-2022 走看看