Angular 2:Validators,ReactiveForms,FormBuilder和自定义类

时间:2017-07-05 13:17:23

标签: angular angular-reactive-forms

假设你有这个课程

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

当你制作一个反应形式时,你可以这样做

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

或者,第二种方式

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

我的问题来自第二种方式:当您使用第一种方式时,您可以将验证器添加到您的控件中

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

但是第二种方式,如何将Validators添加到表单控件中?

1 个答案:

答案 0 :(得分:1)

尝试

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