2017-07-05 54 views
0

比方说,当你做出一个反应形式,你有这个类角2:验证器,ReactiveForms,FormBuilder和自定义类

export class User { 
    username = ''; 
    password = ''; 
} 

,你可以做这样的

this.userForm = this.fb.group({ 
    username: '' 
    password: '' 
}); 

或者,第二way

this.userForm = this.fb.group(new User()); 

我的问题与第二种方式一起使用:当您使用第一种方式时,您可以添加校验你控制这样

username: ['', Validators.required], 
password: ['', Validators.required] 

但与第二种方式,你怎么能添加校验器到窗体控件?

回答

1

尽量

let control = this.form.controls["username"]; 
let newValidators = Validators.compose([Validators.required, Validators.minLength(8), Validators.maxLength(255)]) 
control.setValidators(newValidators); 
control.updateValueAndValidity(); 
+0

我只是存根在这个(以及几乎此)和'this.userForm.get( '用户名')。setValidators([Validators.required])'发布此AHAH秒后。无论如何,它与我所用的非常接近,所以我会将您的答案标记为已接受的答案,谢谢! – trichetriche

+0

(好的,我会在9分钟内接受它,SOF不会那么好) – trichetriche