2017-07-05 83 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