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"
        }
      };
    }
  • 相关阅读:
    linux
    linux
    linux
    linux
    linux
    linux
    linux
    idea插件篇之java内存分析工具(JProfiler)
    Jmeter(线程组+http请求+汇总报告)
    ZK客户端zkClient.bat
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6012367.html
Copyright © 2011-2022 走看看