6

我目前正在使用 angular2 进行验证。valid我对 HTML5 电子邮件和网站验证器以及ngModel 的属性有一些问题。

例如:

<form #form="ngForm">
    <input type="email" #email="ngModel" [(ngModel)]="contact.email" name="email" >
    <button [disabled]="!form.form.valid" type="submit">Btn</button>

我输入的每个单词都很好。#email.valid就好像没有 HTML5 验证器存在一样:

{{#email.valid}} %%% true

所以表单的按钮一直处于启用状态。但是当我点击按钮时,会出现 HTML 警告,说电子邮件字段无效,因此验证正在工作,但#email.valid它仍然是正确的。

是否可以将 angular2 的 ngModel 指令与 HTML5 验证器一起使用?

4

1 回答 1

4

是的,你可以同时使用它们,你可以像这样使用它们

<input  id="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" class="form-control" type="email" ng-model="loginctrl.user.email" name="email" placeholder="Enter Email Address" required/>
<span ng-show="myForm.email.$touched && myForm.email.$error.required"><b class="color">This is a required field</b></span> <span ng-show=" myForm.$dirty && myForm.email.$invalid"><b class="color">This field is invalid</b></span>
于 2016-08-02T14:45:35.367 回答