仅当用户离开字段(onblur
时,我才想开始验证表单的字段。
我正在尝试这种方式:
this.profileForm = this.fb.group({
firstName: ['initial value',
[Validators.required, Validators.minLength(2), forbiddenNameValidator(/bob/i)],
[forbiddenNameValidatorAsync()],
{ updateOn: 'blur' }
],
lastName: ['b']
});
但是这种方式不起作用。 验证(同步和异步)是在onChange期间执行的。
我还想问一下如何通过检查lastName
来验证姓名。
示例:如果姓名字段与姓氏相同,则希望禁用该字段(仅姓名字段,而不是整个表单,而不是两个字段)。
答案 0 :(得分:8)
将参数设置为AbstractControlOptions
firstName: ['initial value',{
validators: [Validators.required, Validators.minLength(2), forbiddenNameValidator(/bob/i)],
asyncValidators: [forbiddenNameValidatorAsync()],
updateOn: 'blur'
}],
此处示例https://stackblitz.com/edit/angular-hdna17?file=src%2Fapp%2Fhello.component.ts