问题标签 [ng-messages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2820 浏览

angularjs - Angular 翻译指令不适用于 ngMessage

来自 AngularJS 示例的简单输入:

链接到 plnkr

当您输入大于 5 的值时,应该可以看到翻译后的错误消息。当我使用翻译指令时它不起作用。

0 投票
3 回答
5386 浏览

angularjs - 使用 ng-messages 为不同的表单字段显示多条消息

是否可以使用 Angular 1.3 的 ng-messages 并在顶部显示验证摘要以及不同字段的错误消息?

我怎样才能做到这一点?到目前为止,我看到的所有示例都显示了一个字段的错误消息,而不是表单中的所有字段。

我是否需要为每个字段设置多个 ng-messages 部分?

0 投票
3 回答
4583 浏览

javascript - 如何组合 ng-message 消息

我是 AngularJS 的新手,但我已经进行了广泛的搜索,但找不到这个问题的有效答案,也许这不可能按照我的想法。

我想要的是能够组合错误条件,以便我可以在ng-messages模块中使用更通用的错误消息。这为我们节省了大量维护文本的时间,因为我们的应用程序是多语言的。在我的示例中,将 minlength、maxlength 和模式结合起来并让它引用 1 个通用消息会很棒。我让它工作的唯一方法是为每种类型提供一个单独的ng-message,然后重用对我来说似乎多余的错误文本。希望这是我缺少的东西,例如不了解何时/如何使用或||。

我创建了这个简单的 Plunk来说明我正在尝试做的事情:

编辑 1

我确实意识到我可以使用单个正则表达式模式表达式,但上述验证严格用于重现问题并显示示例。我有其他的验证我想结合起来,不能用单一的模式来表达。

0 投票
2 回答
330 浏览

javascript - 修改 ng-messages 指令以仅在字段为 $dirty 时显示

我目前对我所有的 ng-messages 使用这样的标记

虽然有点乱,我想以某种方式覆盖或扩展 ng-messages 以便它自动检查该字段是否是脏的或该字段嵌套在其中的表单(通过走上 DOM 可能?)是 $提交。

我希望这是我网站中所有 ng 消息的默认行为,并且无法预见在未使用输入且未提交表单时需要显示错误消息的情况所以我认为覆盖这种行为是安全的,我只是不知道该怎么做。

我知道我可以完全替换 ng-messages,但是我必须重新创建该指令的所有默认行为,并且这些行为可能会在未来的角度版本中发生变化,所以我宁愿尽可能扩展它。我不知道 Angular 是否为此提供了任何钩子(我隐约听说过装饰器方法?)或者是否制作一个兄弟指令,比如“ng-custom-messages”,如果条件不是,它只是隐藏元素'没见过?

所以,我有几个想法,但我需要一点点推动来展示如何实现它们,如果有人觉得慈善,只需要一点骨架代码?

0 投票
2 回答
1421 浏览

angularjs - Angularjs ngMessages ng-messages={multiple .$error}?

我是 angularjs 的新手,我只是想知道 ngMessage 'ng-messages' 属性可以做什么。

我正在尝试为多个 input[type=text] 元素显示一个 ngMessage。例如:

将为所有 4 个 input[type=text] 属性显示一条验证消息。

0 投票
10 回答
57399 浏览

html - 如何重置表单,包括删除所有验证错误?

我有一个角形式。使用ng-pattern属性验证字段。我也有一个重置按钮。我正在使用Ui.Utils 事件绑定器来处理reset事件,如下所示:

如您所见,当表单被重置时,它会reset调用$scope. 这是整个控制器的样子:

我正在调用form.$setPristine()and form.$setUntouched,遵循Stack Overflow 上另一个问题的建议。我添加计数器的唯一原因是证明正在调用代码(确实如此)。

问题是即使在重置表单之后,验证消息也不会消失。您可以在Plunker上查看完整代码。这是一个屏幕截图,显示错误不会消失:

验证错误

0 投票
3 回答
13089 浏览

angularjs - angularjs:ng-message 总是显示

我正在使用 angular-messages 在我的 Angular 应用程序上显示表单验证错误。根据文档,我构建了以下代码

我在我的 javascript 中包含了 ngMessages 指令,并导入了 angular-messages.js 文件。

不幸的是,这两条消息一直在显示。无论我在输入字段中输入什么,它是否是有效的电子邮件。两条消息始终显示。如果我尝试只包含一个 ng-message,结果是一样的。

我可能做错了什么?

编辑:如果我的描述不是很清楚,这是结果的打印 https://s9.postimg.cc/du9230tdb/Screen_Shot_2015_06_26_at_17_09_24.png

0 投票
1 回答
605 浏览

angularjs - Angularjs ngMessages不显示非验证消息的消息

我正在尝试使用 ngMessages 指令,为自动保存的富文本编辑器显示两条不同的消息……它们只是“已保存”和“正在保存……”

我在控制器上公开了一个变量,该变量返回一个函数,该函数从控制器后面的服务返回一个属性(显然这是获得双向绑定的唯一方法)。

我的控制器变量非常简单

我的服务只是将一个 get 访问器放在一个私有变量上

在我的 Chrome 开发工具中,我可以看到 saveStatus 在范围内并返回一个函数。即使我不使用函数(所以消息应该总是说“SAVED!”)消息仍然没有出现......

输出似乎由 ngMessages 格式化,因此我认为它已加载并且可用,但我在网络上找不到任何不使用 $errors 集合的示例!

0 投票
2 回答
12332 浏览

javascript - 使用 ngMessages 验证自定义指令

我在 angularjs 中编写了一个 Web 应用程序,并使用angular 材料(不确定这是否与问题相关)和ngMessages为用户提供无效输入的反馈。

通常,对于提供的指令的验证,我可以以类似于以下方式进行验证:

但是如果我创建了自己的自定义指令......

并将其包含在我的输入中...

我知道它会验证输入,因为如果根据我的自定义指令的验证输入无效,则该字段将变为红色并且 $invalid 值设置为 true,但我不知道如何根据何时使用 ngMessages 显示消息有时候是这样的。

当我的自定义指令验证无效时,我似乎无法收到消息。我该怎么做呢?我在这里先向您的帮助表示感谢。

0 投票
1 回答
177 浏览

javascript - 没有子范围的自定义 ng-Include 指令 - Ng-Messages 不起作用

我编写了一个名为 lobInclude 的指令,我想要与 ngInclude 相同但没有范围的指令:

一切似乎都很好,但使用我的指令时 ng-Messages 无法正常工作,您可以在这里看到一个示例:http ://codepen.io/jros/pen/jPxmxj?editors=101

在代码笔中,我有一个带有输入的表单和我的指令,其中包括一个包含其他输入的脚本 ng-template。

第一个输入中的 ng-messages 工作正常,但不在我的包含中。

请问有什么想法吗?