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

原因是,在最外层的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. 06.Linux系统-GitLab版本控制服务安装部署

    官方文档:https://about.gitlab.com/install/#centos-7 1.yum install -y curl policycoreutils-python openssh ...

  2. Linux架构之Nginx 高可用

    第53章 Nginx之高可用Keepalived 一.Keepalived高可用基本概述 1.1)什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快 ...

  3. 算法学习 howto

    入门: The Most Important Algorithms http://www.risc.jku.at/people/ckoutsch/stuff/e_algorithms.html Alg ...

  4. Vscode添加谷歌Debug插件

    1. 2.安装好 Debugger for Chrome之后,找到要进行Debug的文件 3. 4.进入到launch.json文件中进行相应的配置 配置文件内容如下: { "version ...

  5. oracle数据库架构

    3.1 Client/Server Oracle 采取的是 Client/Server 架构. oracle 服务端分为两部分: Instance 实例 Database 数据库 实例, 又称为数据库 ...

  6. idea 2018版最新激活注册方法

    1. 下载破解补丁文件,路径为:http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 2.将补丁放在安装包的/bin路径下,如图中 ...

  7. IDEA maven 配置,运行比较慢,加截本地仓库资源数据

    在 Runner 配置了参数: -DarchetypeCatalog=internal

  8. SQL 介绍和操作

    1.什么是SQL SQL的全称是“结构话查询语句”(Structured Query Language ),是1974年有Boyce和chamberlin 提出来的.经过多年的发展,SQL语言已经成为 ...

  9. mysql UNION操作符 语法

    mysql UNION操作符 语法 作用:用于合并两个或多个 SELECT 语句的结果集. 语法:SELECT column_name(s) FROM table_name1 UNION SELECT ...

  10. CSS中的 , > + ~

    1.群组选择器(',') /* 表示既h1,又h2 */ h1, h2 { color: red; } 2.后代选择器(空格) /* 表示 h1 下面的所有 span 元素,不管是否以 h1 为直接父 ...