使用angularjs验证文本框中的电子邮件

时间:2015-04-10 05:15:47

标签: javascript html angularjs

我在表单中有2个文本框和一个提交按钮。一个将First Name作为输入,另一个作为Email。我试图通过使用angularjs验证表单。对于名字字段,我申请

<div ng-class="{ 'has-error' : creatProspectSubmit && prospectCreate.FirstName.$error.required }"

这非常有效,并且当文本框中没有名称时会突出显示文本框。我在文本框中添加的另一个验证是

<input type="text" name="FirstName" ng-model="FirstName" ng-required="true">

因此,当我点击提交时,文本框会突出显示,并且表单不会被提交。

电子邮件字段有不同的验证。

<div ng-class="{ 'has-error' : creatProspectSubmit && prospectCreate.Email.$error.required || EmailValidate || prospectCreate.Email.$error.email}">

所以这很好用,如果满足上述条件,它会突出显示文本框。其他验证是

<input type="email" name="Email" ng-model="Email" ng-required="true">

这里的问题是,如果电子邮件地址错误,它会突出显示文本框但是当我点击提交时它会接受该值,可能是因为ng-required =&#34; true&#34;很满意。如何在不提交提交按钮的任何代码的情况下停止提交表单。

我尝试在文本框中添加以下代码,但它消失了电子邮件的文本框。

ng-if = "creatProspectSubmit && prospectCreate.Email.$error.required || EmailValidate || prospectCreate.Email.$error.email"

我从2天开始就在苦苦挣扎。我不想在提交按钮上写任何代码。所有验证都应在文本框中完成。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

也许您可以在范围中添加布尔验证变量, 所以在你的提交按钮上你可以添加ng-disable =&#39;!input1valid || !input2valid&#39; 通过这种方式,您可以更好地控制何时提交或不提交