0

我正在使用 AngularJS 消息构建一个简单的表单。基本上我想要发生的是:

  • 用户提交表单,所有适当的错误都会显示并阻止提交
  • 用户然后完成字段,并且在“关注”字段后将错误一一隐藏($touched?)

第一点工作正常,但我无法弄清楚第二部分,之后我根本无法隐藏错误消息。我确定我遗漏了一些简单的东西,但其他相关问题并没有太大帮助。

有任何想法吗?

<form name="orderForm" 
      ng-submit="orderForm.$valid && placeOrder()" novalidate>

   <input type="text" 
       ng-model="orderParams.delivery_address.full_name" 
       name="fullName" required />

   <p ng-message="orderForm.fullName.$error" 
      ng-if="orderForm.fullName.$invalid && orderForm.$submitted">
      This field is required</p>

   <input type="submit" value="Submit" />

</form>
4

3 回答 3

2

对我来说,问题是通过添加ngMessgaes到我的模块依赖项来解决的。

我之前安装了它与 bower 一起安装,但忘记将它添加到模块依赖项中。由于某种原因,它没有导致错误。它只会阻止我的错误消息隐藏。

于 2015-12-22T23:54:46.657 回答
0

您需要做三件事: 1. 在控制器中添加一个布尔变量,例如:“showMessageBox”,设置为 true。2. 提交时将“showMessageBox”设置为 false。3. 在您的消息框上放置 ng-show 指令并将其绑定到“showMessageBox”变量

于 2015-07-29T13:23:26.483 回答
0

我实际上只是想通了这一点。我正在使用 Angular 1.4.2,看起来 Angular Messages 现在是我之前没有使用的核心构建的一部分(我只是忘记注入 angular 模块),删除了 angular-messages .js 文件(这可能导致冲突),上面的代码工作正常。

任何人都知道为什么在 code.angularjs.org 上仍然可以使用单独的模块吗?-https://code.angularjs.org/1.4.2/

于 2015-07-29T13:24:08.750 回答