Angular Validator模式无法按预期工作

时间:2020-07-21 14:49:48

标签: angular angular-reactive-forms angular-validation angular-validator

我正在使用角电抗形式。在formGroup的formControl中,我用一个不能正常工作的Regex设置了Validator.pattern,我不知道为什么。我已经在https://www.regextester.com/99144这个网站上验证了正则表达式,可以对其进行检查并正常运行

正则表达式(至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符)

pattern = new RegExp(/^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$/gm)

这是formGroup

   this.trocarASenhaForm = this.fb.group({
      UserId: [''],
      SenhaAtual: ['', [Validators.required, ]],
      NovaSenha: ['',[Validators.required, Validators.pattern(this.pattern)]],
      ConfirmaSenha: ['',[Validators.required, Validators.pattern(this.pattern)]]
    },{ validator: this.checkPasswords })

因此,当我键入例如“ World @ 20”时,它验证为true,但是当我开始键入“ World @ 201”时,它验证为false,并且可以插入。 “ World @ 2010”再次验证为真,“ World @ 20100”再次验证为真

enter image description here

enter image description here

enter image description here

0 个答案:

没有答案