角度输入必需字段不起作用
发布时间:2020-12-17 17:30:13 所属栏目:安全 来源:网络整理
导读:我有一个用于创建新实体的表单,如下所示: form #createAppForm="ngForm" (ngSubmit)="createApplication(createAppForm.value)" autocomplete="false" novalidate div class="form-group" [ngClass]="{'error': createAppForm.controls.applicationName?.in
我有一个用于创建新实体的表单,如下所示:
<form #createAppForm="ngForm" (ngSubmit)="createApplication(createAppForm.value)" autocomplete="false" novalidate> <div class="form-group" [ngClass]="{'error': createAppForm.controls.applicationName?.invalid && createAppForm.controls.applicationName?.touched}"> <label for="applicationName">Application Name</label> <em *ngIf="createAppForm.controls.applicationName?.invalid && createAppForm.controls.applicationName?.touched">Required</em> <input name="applicationName" required id="applicationName" type="text" class="form-control" placeholder="Name of application..." /> </div> 我没有在输入中使用ngModel,因为表单出现时应该是空白的,并且我将createAppForm.value提交给ngSubmit.但是,每当我检查表单的有效属性时: {{createAppForm.invalid}} 总是返回false,即使我单击输入字段并单击,但没有填写任何内容.作为必填字段,它是否应该返回true? 我使用了类似的形式,编辑数据,在那里我使用[ngModel]并且工作正常,验证了必需的字段.这里是否需要[ngModel],如果是这样,为什么呢?因为我正在传递表格的价值. 解决方法
您需要将ngModel添加到输入中才能使用Angular的表单验证.
简而言之,ngForm仅检查具有ngModel和名称的元素.没有这些,Angular将无法验证. 把它改成这个: <input name="applicationName" ngModel required id="applicationName" type="text" class="form-control" placeholder="Name of application..." /> More info on the official docs. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |