angularjs - 如何验证具有不同字段的表内的模板驱动表单?
问题描述
在我的 ionic-angular 应用程序中,我使用的是模板驱动的表单,当我在不触摸输入字段的情况下提交表单时,它应该显示错误消息,但在这种情况下,我无法在跨度中显示错误消息。
您可以看到写入错误消息的注释。如何验证此表格?
页面.html
<form (ngSubmit)="submitForm()" #form="ngForm">
<table>
<tr>
<td>
<ion-input type="text" #c1 [(ngModel)]="c" name="c" required>
</td>
<td>
<ion-input type="text" #c2 [(ngModel)]="d" name="d" required>
</td>
</tr>
</table>
<span *ngIf="c1.pristine && c2.pristine && form.submitted">Plese enter codes</span> //error-message is not printing.
<button type="submit">Submit</button>
</form>
解决方案
试试下面的代码。
<form (ngSubmit)="submitForm()" #form="ngForm" novalidate>
<table>
<tr>
<td>
<ion-input type="text" [(ngModel)]="c" name="c" id="c1" #c1="ngModel" required>
<div [hidden]="!(c1.invalid && c1.touched)">Invalid.</div>
</td>
<td>
<ion-input type="text" [(ngModel)]="d" name="d" id="c2" #c1="ngModel" required>
<div [hidden]="!(c2.invalid && c2.touched)">Invalid.</div>
</td>
</tr></table><button type="submit" [disabled]="!form.form.valid">Submit</button></form>
推荐阅读
- unix - 从 jenkins 执行 shell 运行 ansible playbook
- javascript - fs.writeFile 在新创建的 vue 项目中不起作用
- asp.net-mvc - Handle Vue Route on Page Reload from MVC Controller
- azure-devops - CI/CD Deployment Using Azure Devops
- c++ - 在 Mac OS 10.15 中打开 GL 版本 2.1 而不是 4.1
- javascript - 将 Google Apps 脚本数组应用到 HTML 表单自动完成数据列表中
- asp.net-core - 身份服务器 4、Asp.net 身份和
- python - Telegram API:我可以获取频道的历史用户数据吗?
- python - 如何在纸浆优化中限制变量?
- javascript - 按钮更改输入值,但输入显示旧值