繁体   English   中英

如何在Angular 2中执行表单验证

[英]How to perform form validation in Angular 2

我目前使用的是Angular 2的2.0.0-rc.1版本,我试图创建一些基本的表单验证,但是由于我无法克服此错误,因此我没有在几天内继续前进:

No provider for ControlContainer

我在Github上检查了这个未解决的问题 ,但是很少给出为什么发生或如何解决的信息。 自从第一个Beta版本以来,似乎已经出现了这种情况。

我尝试导入和注入与表单相关的大多数内容(您将其命名为FORM_PROVIDERSFORM_DIRECTIVES ),但是我最近的尝试是:

import {NgForm, ControlContainer} from '@angular/common';

@Component({
  selector: 'form-input',
  templateUrl: 'alonglongtemplateurl.html',
  styleUrls: ['alonglongstyleurl.css'],
  directives: [
    NgForm
  ],
  providers: [
    ControlContainer
  ]
})

模板:

<div>
  <input ngControl="name">
</div>

然后我像这样使用它:

<form #myForm="ngForm">
  <form-input></form-input>
</form>

尽管我注入了它要求的内容,但我仍然遇到相同的错误。

自最新版本以来,对Angular 2中的表单元素使用验证的正确方法是什么?

我认为您需要在输入周围有一个form元素才能使用ngControl

<div>
  <form>
    <input ngControl="name">
  </form>
</div>

格式指令是平台指令的一部分,因此您无需明确地包含它们。 提供者也一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM