HTML5电子邮件验证和angular2一起工作吗?

Her*_*nan 6 html5 html5-validation angular

我目前正在使用angular2进行验证.我在HTML5电子邮件和网站验证器以及validngModel属性方面遇到了一些问题.

例如:

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

我输入的每个单词都很好.#email.valid仍然如此,好像没有HTML5验证器存在:

{{#email.valid}} %%% true
Run Code Online (Sandbox Code Playgroud)

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

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

小智 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>
Run Code Online (Sandbox Code Playgroud)

  • 问题是问 Angular2,答案是 Angular1 (2认同)