在表单标签中将name属性与ngModel一起使用时,仍然出现错误-“如果在表单标签中使用ngModel,则必须设置name属性...”

时间:2018-12-03 05:04:50

标签: html angular html-form angular-ngmodel

以下是我的html

<div class="form-row">
  <div class="form-group col-md-3">
    <input [(ngModel)]="model.adminVerificationEndDate" name="adminVerificationEndDate" 
           type="text" autocomplete="off" class="form-control form-control-sm"
           [bsConfig]="datePickerConfig" bsDatepicker [minDate]="currentDate" required/>
  </div>
</div>

我已经初始化了ts文件中使用的所有变量。我已经通过使用ngModel在form标记内绑定了模型属性,还使用了name属性。

但仍然出现错误-如果在表单标签中使用ngModel,则必须设置name属性或表单       控件必须在ngModelOptions中定义为“独立”。

我在这里想念什么?

我还附上了抛出该错误的控制台截图。

Error showing on console

the line of code where the error is generated

感谢任何帮助/建议。

3 个答案:

答案 0 :(得分:2)

您使用的代码,

<div class="form-row">
   <div class="form-group col-md-3">
      <input [(ngModel)]="model.adminVerificationEndDate" name="adminVerificationEndDate"
       type="text" autocomplete="off" class="form-control form-control-sm"
       [bsConfig]="datePickerConfig" bsDatepicker [minDate]="currentDate" required/>
   </div>
</div>

您已在此表单标签中添加了名称属性,但错误仍然显示。因此,您可能有另一个没有任何名称属性的表单标签

但是问题出在控制台上,它将显示第一个表单标签的行号,是的,这令人困惑。

要正确理解这一点,请参阅this answer

所以,具体来说,

enter image description here 请查看控制台错误的最后一行。它表示行号140。

因此,我认为第123行没问题(绿色框)。

您可能正在忽略那条线。还要检查html的第140行,是否有任何名称属性。

答案 1 :(得分:0)

使用此代码。

 <input [(ngModel)]="model.adminVerificationEndDate" name="adminVerificationEndDate" 
       type="text" autocomplete="off" class="form-control form-control-sm"
       [bsConfig]="datePickerConfig" bsDatepicker [minDate]="currentDate" required/>

答案 2 :(得分:-2)

尝试

<input [(ngModel)]="model.adminVerificationEndDate" name="adminVerificationEndDate" 
             type="text" autocomplete="off" class="form-control form-control-sm" #adminVerificationEndDate="ngModel" 
             [bsConfig]="datePickerConfig" bsDatepicker [minDate]="currentDate" required/>