Angular FormControl验证程序

Angular FormControl验证程序,angular,typescript,forms,validation,Angular,Typescript,Forms,Validation,我知道这个代码对我有用: this.BridgeForm = this.formBuilder.group({ gateway: ["", [Validators.required, Validators.pattern(this.ipRegex)]], }); 但是,我想更明确地说明以下属性: this.BridgeForm = this.formBuilder.group({ gateway: { value: "",

我知道这个代码对我有用:

this.BridgeForm = this.formBuilder.group({
    gateway: ["", [Validators.required, Validators.pattern(this.ipRegex)]],
});
但是,我想更明确地说明以下属性:

this.BridgeForm = this.formBuilder.group({
    gateway: {
        value: "", disabled: false,
        Validators: [
            Validators.required,
            Validators.pattern(this.ipRegex),
        ]
    },
});
在我的控制台中,我总是会遇到一个错误,如下所示:

错误:MaskedTextBox组件仅支持字符串值


问题在于validators属性。我无法从中找到如何这样使用它。

属性值缺少FormControl。顶部对象(表单)将创建一个FormGroup实例,每个属性都需要一个FormControl,您可以在其中定义必要的验证器、禁用等

以下是为使用您的示例而更新的语法:

this.bridgeForm = this.formBuilder.group({
  gateway: new FormControl({ value: "", disabled: false }, [
    Validators.required,
    Validators.pattern(this.ipRegex)
  ])
});
演示:

我明白了。我必须显式调用
newformcontrol()
,即使它是
FormBuilder
。谢谢。你需要对你想要“控制”的每一处房产都这样做