【问题标题】:How to validate textbox using reactive form validation如何使用反应式表单验证来验证文本框
【发布时间】:2019-07-28 00:32:00
【问题描述】:

我已经为文本框创建了自定义文本组件,我正在尝试通过响应式表单验证进行验证,但无法正常工作。

出现错误:

错误 错误:formControlName 必须与父 formGroup 指令一起使用。您需要添加一个 formGroup 指令并将一个现有的 FormGroup 实例传递给它(你可以在你的类中创建一个)。

谁能帮忙解决这个问题?

https://stackblitz.com/edit/angular-6-reactive-form-validation-9pu6hq?file=app%2Fapp.component.html

app.component.html:

<app-textbox formControlName="password"></app-textbox>

app.component.ts:

this.registerForm = this.formBuilder.group({
        firstName: ['', Validators.required],
        password: ['', [Validators.required, Validators.minLength(6)]]
    });

【问题讨论】:

    标签: angular5 angular6 angular7


    【解决方案1】:

    您需要将app-textbox 放在分配给表单组的form 元素之间:

       <form [group]="registerForm">
          <app-textbox formControlName="password"></app-textbox>
       </form>
    

    【讨论】:

    • 这怎么可能? Bcoz 我已经在表单中使用了 app-textbox。你能检查 app.component 吗?
    • 啊抱歉,没看到。我想这可能会有所帮助:stackoverflow.com/a/45660571/10713841 你不能只使用自己的组件作为表单控件。
    • 我已检查但无法正常工作..您可以检查此代码:stackblitz.com/edit/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 2020-02-17
    • 2022-01-11
    • 2017-12-30
    • 2019-05-04
    相关资源
    最近更新 更多