私はAngular2アプリケーションを開発しています。私は、正規表現のパターンを使用してログインするときに検証をしようとしています。正規表現パターンの検証Angularjs2
login.component.ts
import { Component, OnInit } from '@angular/core';
import {AuthenticationService, User} from '../authentication-service.service';
import {TokenService} from '../token.service';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css'],
providers: [AuthenticationService,TokenService]
})
export class LoginComponent {
public user = new User('','','');
public errorMsg = '';
constructor(private _service:AuthenticationService) {
var ssnRegex='^(\d{6}|\d{8})[-|(\s)]{0,1}\d{4}$';
this.logout();
}
login() {
if(!this._service.login(this.user)){
this.errorMsg = 'Failed to login';
}
}
logout(){
localStorage.removeItem("token");
localStorage.removeItem("user");
localStorage.removeItem("paydid");
}
}
login.component.html
<form id="login-form" action="" method="post" role="form" style="display: block;" #roomForm='ngForm'>
<div class="form-group">
<input type="text" required maxlength="12" minlength="12" [pattern]="ssnRegex" ngModel name="capacity" #capacity='ngModel' [(ngModel)]="user.ssn" name="ssn" id="ssn" tabindex="1" class="form-control input-box" placeholder=" Personnummer (ååååmmddnnnn)"
value="">
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<span style="color:red; float:left; width: 100px;">{{errorMsg}}</span>
<button (click)="login()" class="btn waves-effect waves-light" type="submit" name="action">Login</button>
</div>
</div>
</div>l
</form>
これは私が今までやっていることです。しかし、これはログイン時に予想される検証を行っていません。同時に、入力された文字列がパターンに従わない場合、エラーメッセージを表示する必要があります。私はAngualrjsが初めてです。ヘルプは高く評価しました。ありがとう!
手段何を '期待通りにやっていない' ん?必要がないときに検証に合格する? – Sefa
@SefaÜmitOray;返信いただきありがとうございます。つまり、誰かがログインしようとしたときに失敗した場合は、その人が認証されていないためです。ここでコードを示していないのは、ここではあまり意味がないからです。上記のコードは、入力した文字列が私が言及した正規表現パターンとインラインであるかどうかをチェックしていません。 – Isuru