Angular材料ng-messages未正确显示

时间:2016-08-21 14:04:49

标签: angularjs material-design angular-material ng-messages

我使用角度消息在我的角度应用上显示表单验证错误

样本

http://jsbin.com/sutahixima/edit?html,js,output

不幸的是,这三条消息一直在显示。无论我在输入字段中输入什么内容,都可以是有效名称。这两条消息始终显示。如果我尝试只包含一个ng-message,结果是相同的。

知道我可能做错了吗?

1 个答案:

答案 0 :(得分:2)

好的,我设法解决了它

<强>样本

http://jsbin.com/cubafoluji/1/edit?html,js,output

基本上我所做的是:

  1. 添加脚本以加载ngMessages(尝试在项目文档的末尾加载脚本,只是一个建议):
  2. <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular-messages.js"></script>

    1. 在消息容器中,您的ng-message错误,您需要使用输入名称,我也使用ng-if,在我看来它更可靠:
    2. <div ng-messages="accountSignup.firstname.$error" ng-if="accountSignup.firstname.$dirty" role="alert">

      1. 在js中,我将ngMessages作为模块加载:
      2. var module = angular.module('test', ['ngMaterial', 'ngMessages']);

        我注意到您使用了Angular Material,消息存在已知问题: https://github.com/angular/material/issues/2781

        这是我修复的信息来源,我希望它适合你。

        PD:我将html中的min,max和require更改为ng-min ....如果你不想要它你不需要改变它,它适用于两者但我建议用它来避免任何意外行为。