我正在循环数据,从数据中,我将名称值添加到输入字段中,但根本没有设置。这是什么问题?
我的表单模板:
<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"
,但我不确认发送的名称,除非我收到错误消息
答案 0 :(得分:1)
Angular版本之间存在一些混淆。 ng-show应该是* ngIf或[隐藏]反向逻辑,ng-pattern是[pattern]。 [attr-disabled]可以[禁用]等。模式/ ^ [0-9] /不允许超过1位,我不确定这是你的目标。如果使用属性作为模式表达式,则使用[pattern] =&#34; property&#34;:
以下是我的建议:
<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>
答案 1 :(得分:0)
属性无法执行插值。 您需要使用属性绑定来设置属性值。
试试这个:
[name]="addVas.name"
而不是
name= "{{addVas.name}}"