如何将名称值添加到输入元素

How to add name value to input element

我正在循环数据,从数据中,我将名称值添加到输入字段中,但根本没有设置。这里有什么问题?

我的表单模板:

<form novalidate name="myForm">
  <div ng-show="myForm[addVas.name].$error.pattern">Error will come </div>
  <div class="form-group">
    <input type="text" [(ngModel)]="addVas.input" [attr.disabled]="addVas.disabled ? '' : null " name="{{addVas.name}}" ng-pattern="/^[0-9]/" (blur)="addAdnlVasAfterInput(addVas)" placeholder="Provide value of shipment"
      class="form-control">{{addVas.name}} <!--getting value here-->
  </div>
</form>

当用户在章程中输入而不是数字时,我没有抛出错误。如何解决?

现在我已将我的 name 字段更新为 [name]="addVas.name" 但我不确认发送的姓名,除非我收到错误消息

属性无法执行插值。 您需要使用 属性 绑定来为属性设置值。

试试这个:

[name]="addVas.name"

而不是

name= "{{addVas.name}}"

Angular 版本之间存在一些混淆。 ng-show 应该是 *ngIf 或 [hidden] 具有反向逻辑,ng-pattern 是 [pattern]。 [attr-disabled] 可以是 [disabled] 等。模式 /^[0-9]/ 不允许超过 1 位数字,我不确定这是你的目标。如果使用 属性 作为模式表达式,则使用 [pattern]="property":

这是我的建议:

     <form #myForm>
        <input type="text" [(ngModel)]="addVas.input" 
             [disabled]="addVas.disabled" [pattern]="addVas.pattern"
             [name]="addVas.name" #input="ngModel">
        <div *ngIf="input.errors && (input.dirty || input.touched)" >
            <div [hidden]="!input.errors.pattern">
                Should be a number
            </div>
        </div>
    </form>

Demo