在创建一个表单时,出现了这样的错误:

原因是,在最外层的form中使用了 formGroup 指令,但在下面的某个input 元素中,使用了ngModel 指令,但没有加入formControl 指令或 formControlName 属性。

也就是说,如果form中使用了formGroup,那么form中包含的所有input 元素都需要定义一个 formControl,如果不定义,就会报错。

   <form [formGroup]="form">
<mat-form-field>
<input matInput placeholder="IP(SNMP)" [formControl]="snmpIpCtrl" required>
<mat-error *ngIf="snmpIpCtrl.hasError('required')">IP(SNMP)不能为空</mat-error>
<mat-error *ngIf="snmpIpCtrl.hasError('pattern')">请输入有效的IP地址</mat-error>
</mat-form-field> <div>
<p>是否支持Netconf</p>
<mat-radio-group [(ngModel)]="netconfFlag">
<mat-radio-button value="0" color="primary">支持</mat-radio-button>
<mat-radio-button value="1" color="primary">不支持</mat-radio-button>
</mat-radio-group>
</div>
</form>

  

解决方法1:

在input元素中添加 formControl 指令或 formControlName 属性

 <div>
<p>是否支持Netconf</p>
<mat-radio-group [(ngModel)]="netconfFlag" [formControl]="netconfFlagCtrl">
<mat-radio-button value="0" color="primary">支持</mat-radio-button>
<mat-radio-button value="1" color="primary">不支持</mat-radio-button>
</mat-radio-group>
</div>

并在相应的component.ts 中定义用于验证的FormControl。

解决方法2:

不添加formControl 指令或 formControlName 属性, 而添加 ngModelOptions 指令

注意 ngModelOptions 必须和 ngModel 一起用!

     <div>
<p>是否支持Netconf</p>
<mat-radio-group [(ngModel)]="netconfFlag" [ngModelOptions]="{standalone: true}">
<mat-radio-button value="0" color="primary">支持</mat-radio-button>
<mat-radio-button value="1" color="primary">不支持</mat-radio-button>
</mat-radio-group>
</div>

Angular5 错误: ngModel cannot be used to register form controls with a parent formGroup directive的更多相关文章

  1. ATL项目编译注册dll的时候报权限错误:error MSB8011: Failed to register output. Please try enabling Per-user Redirection or register the component from a command prompt with elevated permissions.

    atl工程在vs2013编译的时候会在编译成功之后去使用 regsvr32 去注册 生成的 .dll 偶尔在编译的时候会遇到下面的错误: error MSB8011: Failed to regist ...

  2. git错误:fatal: Not a git repository (or any of the parent directories): .git

    git错误:fatal: Not a git repository (or any of the parent directories): .git 我用git add file添加文件时出现这样错误 ...

  3. register form code(2nd week blog)

    register form code(2nd week blog) 注册 用户名: 密码: 确认密码: 邮箱: 电话:     性别: 男 女

  4. 初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git

    提示说没有.git这样一个目录,解决办法: 输入  git init 就可以啦.

  5. register form

    <code class="language-html"><div class="width100 marT15 content_news_list&qu ...

  6. BootstrapValidator

    一.引入必要文件 <link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/& ...

  7. ngModel 值不更新/显示

    angular中的$scope是页面(view)和数据(model)之间的桥梁,它链接了页面元素和model,也是angular双向绑定机制的核心. 而ngModel是angular用来处理表单(fo ...

  8. angularjs 1.3 综合学习 (one way bind , ng-if , ng-switch , ng-messages, ng-form ,ng-model )

    主要讲解1.3后的一些新功能,和一些以前没有介绍的小功能 (ng-if,ng-switch). 1.one way bind 这个之前的版本已经有人自己实现了,但是在1.3之后,angularjs 有 ...

  9. SpringMVC form:form的一个错误(没有传到前台绑定类)

    SpringMVC form:form的一个错误(没有传到前台绑定类) 报错信息: Neither BindingResult nor plain target object for bean nam ...

随机推荐

  1. 一、在 ASP.NET Core 中使用 SignalR

    一.介绍 SignalR 是一个用于实现实时网站的 Microsoft .NET 库.它使用多种技术来实现服务器与客户端间的双向通信,服务器可以随时将消息推送到连接的客户端. https://docs ...

  2. 仿scikit-learn模式写的kNN算法

    一.什么是kNN算法 k邻近是指每个样本都可以用它最接近的k个邻居来代表. 核心思想:如果一个样本在特征空间中的k个最相邻的样本中大多数属于一个某类别,则该样本也属于这个类别. 二.将kNN封装成kN ...

  3. jenkins git项目clean before checkout 和 wipe out repository & force clone

    clean before checkout:会先执行一遍git clone,删除一些untracked文件和目录,比如删除上一次打包编译产生的文件 wipe out repository & ...

  4. Top 8 Diagrams for Understanding Java

    Reference: http://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/ A diagram is s ...

  5. LTE抛弃了CDMA?

    原文链接:https://blog.csdn.net/readhere/article/details/82764919 本文节选自<LTE教程:结构与实施> 大家都听说过这样的说法:LT ...

  6. mybatis学习$与#号取值区别

    1,多个参数传递用map或实体封装后再传给myBatis, mybatis学习$与#号取值区别 #{} 1.加了单引号,  2.#号写是可以防止sql注入,比较安全 select * from use ...

  7. luogu 4147 玉蟾宫 悬线DP

    Code: #include<bits/stdc++.h> using namespace std; #define setIO(s) freopen(s".in",& ...

  8. 对拍程序 x

    一.介绍 在做题或者正式比赛过程中总会把水题做水做乱,但因为样例有坑所以直接过了样例,然后拿去评测结果发现全WA.那如何在这种情况下检查自己程序或算法的正确性呢?对拍是一个简便省事的方案. 所谓“对拍 ...

  9. android读取xml

    /*** 从config.xml中获取版本信息以及应用id* * @param urlPath* @return* @throws Exception*/public List getUpdateIn ...

  10. Android环境配置之正式版AndroidStudio1.0

    昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...