为何表单验证无法与内置和Corss字段验证器一起使用?

时间:2019-07-18 10:46:16

标签: angular validation angular-material

我正在尝试使用内置的验证器和跨域验证器创建表单,但它无法正常工作,我不知道为什么。

内置的验证器有4种类型:必需的,pattern,minLength maxLength

  • 必填适用于所有字段。

  • 模式仅适用于名称组。

以下是一些代码-stackblitz

1 个答案:

答案 0 :(得分:0)

尝试将您的正则表达式更改为以下内容:

password = '(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=[^0-9]*[0-9]).{5,}'

RegExp来自以下答案:https://stackoverflow.com/a/51741621/2050306

在开发过程中能够看到这些错误也很有帮助:

<pre>
  {{ myForm.value | json }}
  {{ myForm.valid }}
  {{ myForm.get('passwords').get('password').errors | json }}
</pre>

错误对象键为小写字母,请在TS文件中更改此minLength-> minlength:

this.myForm.get('names.firstName').hasError('minlength') ? 

选中此stackblitz