私はカスタム検証でモーダル駆動型を作成しようとしています。 私は、ユーザーが挿入したパスワードが要件に答えることを検証したいと考えています(大文字の後ろ、小文字の後者および数字)。 問題は、私は正規表現を特にそのメソッドに書いたくないということです。私はすべての正規表現を集中させることができます。 コンポーネントクラスにサービスを注入できましたが、validetorメソッド内でサービスインスタンスにアクセスすることはできませんでした。角度2のフォームバリデーターメソッドからのクラス変数へのアクセス
どのように私はサービスにアクセスできますか?
ありがとうございました。
これは私のコードです:
export class SignUpComponent implements OnInit {
regexService:RegexService
builder: FormBuilder
signUpForm: FormGroup;
email: FormControl;
password: FormControl;
passwordAgain: FormControl;
matchedPassword (input: any) {
if(!input.root || !input.root.controls)
return null;
if(input.root.controls.password.value===input.root.controls.passwordAgain.value)
return null;
else
return { mismatchedPassword: true };
}
passwordAnswerRequirements(input: any){
if(!input.root || !input.root.controls)
return null;
if(this.regexService.getRegex('password').test(input.value))
return null;
else
return {notAcceptablePassword:true}
}
constructor(builder: FormBuilder,regexService:RegexService) {
this.builder=builder;
this.regexService=regexService;
}
ngOnInit(){
this.email = new FormControl('', [
Validators.required,
]);
this.password = new FormControl('', [
Validators.required,
this.matchedPassword,
this.passwordAnswerRequirements
]);
this.passwordAgain=new FormControl('',[
Validators.required,
this.matchedPassword,
this.passwordAnswerRequirements
]);
this.signUpForm = this.builder.group({
email: this.email,
password: this.password,
passwordAgain:this.passwordAgain
});
}
私のサービス名は「RegexService」とvalidetor関数名であるが、「passwordAnswerRequirements」
あなたのコードは、キーワード 'class' – AngJobs
が不足している私はここにコピーdidntはis..Justを持っていた私はregexServiceが定義されていないことを糸くずのエラーを取得し、それらの行を削除すると...アイブ氏は私の質問 –