模型不起作用的角度4表单验证

时间:2017-09-06 01:55:08

标签: angular validation

我正在Angular 4中创建我的第一个表单,并希望同时进行输入和表单验证。我正在尝试使用模板驱动的表单。我创建了这样的表单:

<form novalidate [formGroup]="form" (ngSubmit)="submitForm()">
    <div class="form-group">
      <label for="description">Description</label>
      <input type="text" class="form-control" id="description" name="description" maxlength="255" minlength="5" required [(ngModel)]="myobj.description"  #desc="ngModel" >
    </div>
    ...

相关组件是:

export class SamplecComponent {

  // Create an object with default values in the object
  myobj = MyObject.constructDefault();

  // Not sure why I need this...
  form = new FormGroup({ });

  submitForm() {
    console.log(this.form.valid);
    console.log('in submitForm');
  }

我可以确认我的描述输入是否处于VALID或INVALID状态,但是当我提交表单时,this.form.valid值始终为TRUE。为什么呢?

同样,为什么我需要创建一个空的FormGroup?我发现的每个例子都为输入设置了初始值,但由于我使用的是已填充的模型,因此没有意义。

- - - - - - - - UPDATE
我添加了

#myform="ngForm"

到表单选择器并尝试使用

访问.ts文件中的表单状态
console.log(this.myform.valid);

但是当我点击提交控制台时说:

  

错误类型错误:无法读取未定义

的属性“有效”

在我定义myform的html模板行上。

0 个答案:

没有答案