当前位置: 首页 > 知识库问答 >
问题:

角度验证器模式未按预期工作

祁飞扬
2023-03-14

我使用的是角反应形式。在表单组的窗体控件中,我使用无法正常工作的正则表达式设置了验证器.模式,我不明白为什么。我已经验证了这个网站上的正则表达式 https://www.regextester.com/99144,以检查它,它工作正常

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

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

这是表单组

   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”时,它验证为真,但当我开始键入“World@201”时,它验证为假,并且它是可插入的。“World@2010”再次验证真,“World@20100”验证假,依此类推

共有1个答案

苗承
2023-03-14

尝试以下操作:

const pattern = '^(?=\\S*[a-z])(?=\\S*[A-Z])(?=\\S*\d)(?=\\S*[^\\w\\s])\\S{8,}$';

this.trocarASenhaForm = this.fb.group({
  UserId: [''],
  SenhaAtual: ['', [Validators.required]],
  NovaSenha: ['',[Validators.required, Validators.pattern(pattern)]],
  ConfirmaSenha: ['',[Validators.required, Validators.pattern(pattern)]]},
  { validator: this.checkPasswords }
)
 类似资料:
  • 我有元素,这些元素有一个绑定到复选框的语句。如果我物理地选中该复选框,将按预期响应。但是,如果我通过JavaScript选中或取消选中复选框,则复选框会按预期被选中或取消选中,但没有响应。这是正常工作吗?有没有更好的办法做到这一点? 下面是我的代码示例:“[]”=“<>” HTML-第1部分 [li id=“HomeButton”ng-if=“HomeChecked!=true”onclick=“

  • 我需要验证密码输入表单字段的强度。要求是: < li >至少一个小写字符 < li >至少一个大写字符 < li >至少一个号码< br >(无论顺序) 我迄今为止搜索和尝试的结果如下,结果不一致。 它似乎验证了正则表达式验证的顺序。 我需要的是检查是否存在至少一个字符“类型”。

  • 更新:我尝试将过滤器实现为OncePerRequestFilter,但仍然不起作用。有人能在这里进一步帮助我吗? 更新2:也试过这个,http://software.dzhuvinov.com/cors-filter-installation.html,运气不好 更新#3:这是我在控制台中的输出,我可以看到响应没有添加任何标题: register.html

  • 我正在使用spring Roo并希望访问Controller类中的一个bean,该类在ApplicationContext.xml中具有以下配置: 配置类本身是: 在我的Controller中,我认为一个简单的Autowired注释应该可以完成这项工作 在启动过程中,spring在setSkipWeeks方法中打印消息。不幸的是,每当我在控制器中调用config.getSkipWeeks()时,它

  • 当我运行以下程序时,它只打印 然而,从Java 8的equalsIgnoreCase文档中我们发现: 如果以下至少一项为真,则两个字符c1和c2被视为相同的忽略情况: •对每个字符应用java.lang.character.ToUpperCase(char)方法会产生相同的结果 所以我的问题是为什么这个程序不打印 在这两种操作中,都使用了大写字符。

  • 我试图使用来传输我根据前面的问题设置的自定义标头。 我在文件中读到... 我的属性包括: