【发布时间】:2018-07-08 02:01:10
【问题描述】:
对于反应式表单验证,我观察了许多教程和 plunker 链接 但我没有任何网站可以解决我的问题
问题 1:formgroup 模式是
[aA-zZ0-9'-]$/)](不允许,字符,-,',空格特殊字符)
export class AppComponent implements OnInit {
private myForm: FormGroup;
constructor(private fb: FormBuilder) {
}
ngOnInit() {
this.myForm = this.fb.group({
'name': ['', [Validators.required,
Validators.minLength(3),
Validators.maxLength(10),
Validators.pattern(/[aA-zZ0-9'-]$/)]],
'phoneNumbers': new FormArray([new FormControl('')])
});
}
}
对于以上内容,请查看此 plunker 链接
https://plnkr.co/edit/km7nGR8DjyE4l6tH5JEC?p=preview
在这里,如果您观察到 name 字段,它在某些情况下会按照正则表达式条件工作
**case1-> aa -- not valid(minimum 3 characters),
case2-> aaa@ --not valid(special chararacter)
case3-> aaa@b -- valid(not giving any message)**
如果您观察到 case3 输入,即使它不满足正则表达式规则,它也不会抛出任何消息
我不确定我的正则表达式是否正确,我的要求是(min-3, max-10, allow no, characters, -,', space special charactes)
我尝试了很多类型,但每个地方我都遇到同样的问题
问题2:如何为表单数组应用自定义验证器
请给我适合所有一般用例的最佳方法
提前致谢
苏米亚
【问题讨论】:
-
正则表达式问题..在 regex101.com 中检查您的正则表达式
-
你能告诉我 wright regix
-
您正在寻找的正则表达式可能是
^[A-Za-z0-9-' ]+$ -
它不工作
-
请举例
标签: angular angular2-forms angular5 angular4-forms