Javascript AngularJS:ngMessage奇怪的行为,输入类型为;电邮;

Javascript AngularJS:ngMessage奇怪的行为,输入类型为;电邮;,javascript,angularjs,html,validation,html-input,Javascript,Angularjs,Html,Validation,Html Input,我阅读了来自的文章,我想从ng if迁移到ng messages。但是当我尝试向用户显示的两条不同消息时,ng messages指令的行为非常奇怪:首先,当用户将字段留空时(然后发生必需的错误),其次,当格式错误时(然后发生电子邮件错误)-它同时显示required和mail消息,但我的旧代码只显示一条消息-关于required错误-我认为这是受欢迎的行为。以下是简化代码: <form name="ngMessageMailForm"> <input type="email

我阅读了来自的文章,我想从
ng if
迁移到
ng messages
。但是当我尝试向用户显示
的两条不同消息时,
ng messages
指令的行为非常奇怪:首先,当用户将字段留空时(然后发生
必需的
错误),其次,当格式错误时(然后发生
电子邮件
错误)-它同时显示
required
mail
消息,但我的旧代码只显示一条消息-关于
required
错误-我认为这是受欢迎的行为。以下是简化代码:

<form name="ngMessageMailForm">
  <input type="email" required="" name="email" ng-model="ctrl.ngMessageMail" />
  <div ng-messages="ngMessageMailForm.email.$error" ng-if="ngMessageMailForm.email.$touched">
    <span ng-message="email">
      E-mail has not proper format<br />
    </span>
    <span ng-message="required">
      E-mail is required<br />
    </span>
  </div>
</form>

电子邮件的格式不正确
需要电子邮件
您可以在这个Plunker中找到新旧代码之间的比较:,要重现
ng message
的奇怪行为,请单击邮件输入内部,然后单击邮件输入外部。如果是
ng if
form,您将看到一条消息;如果是
ng message
form,您将看到两条消息。
ng if
迁移到
ng messages
时是否遗漏了什么?提前感谢您的帮助。

一切正常,但您错过了将库添加到项目中的步骤

将其文件添加到您的项目中,并将
ngMessages
注入到您的angularjs模块中,然后您就可以开始了


非常感谢您-事实上,我忘了把它包括在内,现在它就像一个符咒:)