我正在尝试使用内置的验证器和跨域验证器创建表单,但它无法正常工作,我不知道为什么。
内置的验证器有4种类型:必需的,pattern,minLength 和 maxLength 。
必填适用于所有字段。
模式仅适用于名称组。
以下是一些代码-stackblitz。
答案 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。