2017-01-23 16 views
-1

ユーザー入力パスワードに文字が含まれている場合、パスワードを強くする必要があります。パスワードに数字または文字のみが含まれている場合は、パスワードが弱くフォームが無効であることを確認する必要があります。ここに私のコードです。パスワードに少なくとも1文字または数字が含まれているかどうかを確認するための検証ツール

ngOnInit(){ 
     this.registrationForm = this._formBuilder.group({ 
      password: ['', [Validators.required, Validators.minLength(8)]] 
     }); 
    } 

htmlコード

  <div class="form-group"> 
       <label for="password" class="cols-sm-2 control-label">Password</label> 
       <div class="cols-sm-10"> 
        <div class="input-group"> 
         <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
         <input type="password" [(ngModel)]="user.password" class="form-control" name="password" id="password" placeholder="Enter your Password" formControlName="password"/> 
        </div> 
        <span *ngIf="registrationForm.controls.password.hasError('required') && registrationForm.get('password').touched" class="alert alert-danger">Password is required</span> 
        <span *ngIf="registrationForm.controls.password.hasError('minlength') && registrationForm.get('password').touched" class="alert alert-danger">Password should consist of 8 characters</span> 
       </div> 
      </div> 

EDIT:それは文字と数字が含まれていますし、それだけでのみ、または文字のみ番号が含まれている場合は、弱いパスワードを返した場合、私は、ユーザー入力を確認することができますどのように?

+0

ここで問題となるのは正確ですか?あなたがしたすべてのことが、私たちに小さな説明でいくつかのコードが投げられています。あなたは問題がありますか?なぜこれが質問ですか?編集してください。 – pattyd

+0

が編集されました。質問が追加されました。ありがとう:) –

答えて

0

私はRegexを使用して私の問題を解決しました。

passwordRegex = /^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$/; 

これは、パスワードに少なくとも1文字または数字が含まれているかどうかを確認します。その後、私のhtmlで検証を追加します。

<span *ngIf="registrationForm.controls.password.hasError('pattern') && registrationForm.get('password').touched" class="alert alert-danger">Weak password</span> 
関連する問題