首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角4模板驱动嵌套表单验证?

角4模板驱动嵌套表单验证?
EN

Stack Overflow用户
提问于 2017-10-27 15:02:39
回答 2查看 4K关注 0票数 5

我有两个组件,一个父组件和一个子组件。父组件包含以下内容:

代码语言:javascript
复制
   <form (ngSubmit)="saveWebsite();" #adminForm="ngForm">

         <input type="text" name="WebName" [(ngModel)]="milestone.WebName" class="form-control" required/>

          <app-documents [documents]="caseData.CaseWebsiteDocuments" [caseId]="caseId" (fileEvent)="showToast($event)"
          (documentsEvent)="documentsEvent($event)"></app-documents>

      <button type="submit" class="btn btn-success pull-right" *ngIf="caseId">Save</button>
    </form>

子组件包含以下内容:

代码语言:javascript
复制
<input  type="text" [(ngModel)]="doc.FriendlyName" name="friendlyName" class="form-control" required/>

如果我将所有输入都放在父组件中,那么所有的验证都是有效的。我在试着检查肮脏的状态。现在,如果对父级进行更改,则脏状态设置为true,但如果对子节点进行更改,则脏状态不会更改。如何在模板驱动的嵌套控件中进行验证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-27 15:10:32

您可以在您的子组件上提供ControlContainer,如

代码语言:javascript
复制
import { ControlContainer, NgForm } from '@angular/forms';

@Component({
  selector: 'app-documents'
  ...,
  viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]
})
export class AppDocumentsComponent {}

另请参阅

票数 14
EN

Stack Overflow用户

发布于 2020-04-07 22:25:25

这本身并不适用于我,我也在我的输入中添加了ngModel。没有ngModel,我想你无法验证你的表格.无论是子组件还是自己的组件窗体。

代码语言:javascript
复制
import { ControlContainer, NgForm } from '@angular/forms';

@Component({
  selector: 'app-documents'
  ...,
  viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]
})
export class AppDocumentsComponent {}

这对我有用!!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46978095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档