首页 > 其他 > 详细

[Angular2 Form] Check password match

时间:2016-10-30 07:32:28      阅读:543      评论:0      收藏:0      [点我收藏+]

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"
    }
  };
}

 

[Angular2 Form] Check password match

原文:http://www.cnblogs.com/Answer1215/p/6012367.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!