问题标签 [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 投票
3 回答
1257 浏览

javascript - 如何将 ng-messages 用于 type='file'?

ng-message用来显示表单的错误消息,它适用于 theinput type='text'和其他,但如何使用ng-messageoninput type='file'根据上传文件的扩展名显示不同的消息。还是他们的任何库可以提供错误消息?

请指导我。

0 投票
1 回答
100 浏览

angularjs - 从哪里启动 Angular 中的 ngMessages 指令,我可以手动启动它吗?

我正在使用 ngMessages 进行表单验证。我面临的问题是我的 html 是由 javascript 动态创建的,而 angular.message.js 是在此之前加载的。所以我想在创建所有动态 HTML 元素时触发 ngMessage。

0 投票
1 回答
356 浏览

angularjs - 显示/隐藏 ng-messages 容器的最佳方式

假设我有以下输入字段:

问题是 ng-messages 元素占用了 DOM 中的空间,因此它影响了其他表单元素的定位。我期待在出现错误之前不会将这个元素添加到 DOM 中。是否存在 ng-messages 元素始终存在,但单个 ng-message 元素被删除并添加到 DOM 的情况?

我希望 ng-message 是 ng-show/ng-hide 的一个很好的替代品,但似乎我仍然需要将 ng-show 添加到 ng-messages 容器中才能让它完全消失,直到出现错误. 我是否错过了一些更优雅的使用 ng-message 的方式?

0 投票
1 回答
570 浏览

javascript - 使用 Angular ngMessage 进行带有错误消息的表单验证

我正在使用ui-select一些多选字段,我想实现这样的客户端<form>验证:

所以,问题是我尝试的条件不起作用:

newProjectForm.frameworks.$invalid && !newProjectForm.frameworks.$pristine">似乎总是假的。

<div ng-messages="newProjectForm.frameworks.$error">似乎也不起作用。

但是,我改用这条线进行了测试:

<div class="form-group" ng-class="{ 'has-error' : true }">

它奏效了,所以我猜这是不起作用的条件。

0 投票
1 回答
520 浏览

angularjs - AngularJS 表单验证 - 将输入绑定到模型,即使存在输入错误

我有一个使用内置 angularjs 表单验证和 ng-messages 的表单。看看这段代码。

如果输入没有触发错误,那么如果你使用 console.log($scope.applicant.firstName);,它会打印值,但如果输入有错误,console.log($scope.applicant.firstName); 变得未定义。

有没有办法让 angular(或者可能是因为 ng-messages)绑定输入的值,即使它有错误?我想做 console.log($scope.applicant.firstname); 即使输入有错误,也要打印该值。

0 投票
2 回答
407 浏览

angularjs - ngMessages:如何访问错误详细信息(例如最小长度、字段名称等)?

我如何ngMessages访问有关表单错误的信息?比如字段名等属性?

例子:

我见过很多这样的例子:

这不是一个好的错误消息,因为它没有告诉用户输入应该多长时间。它只是告诉他们它太短了。

它应该呈现如下内容:“此字段必须至少为 {{ minlength }} 个字符。”

更好的是:“{{ field }} 必须至少为 {{ minlength }} 个字符。”

必须为不同最小长度的输入定义不同的消息是非常不干燥的。

如何做到这一点ngMessages

0 投票
2 回答
2608 浏览

javascript - AngularJS ng-messages 在表单甚至在 Bootstrap 表单上被触及之前显示错误

minlength 和 maxlength 错误显示正确的消息并正确设置“has-error”ng-class。但是,如果我在我的字段和相应的消息中添加“必填”,则在重新加载时,“必填”总是出现(直到填写)。

但是,除非触发了不同的错误,否则不会出现红色的“有错误”类。

我在这里错过了什么?

0 投票
2 回答
1587 浏览

angularjs - 使用 Tinymce (ui-tinymce) 时使用 Angular ng-messages 验证 textarea

当具有属性时如何验证使用ng-messageslike ?ng-maxlength<textarea>ui-tinymce

或者,还有更好的方法?

0 投票
1 回答
1797 浏览

angularjs - Angular ng-messages 需要 UI Bootstrap 模式中的错误

我尝试在 UI Bootstrap 模式中使用 ng-messages 进行 UI 验证反馈。(http://angular-ui.github.io/bootstrap/#/modal)。

每次打开模式时,我都会收到此错误。

一切都按照这里所说的正确设置(https://docs.angularjs.org/api/ngMessages)。引用了所有 angularjs 文件,将消息模块依赖项添加到主模块并按原样使用该指令,但我仍然收到此错误。如果我同时使用 ng-message 或 ng-messages-include,就会发生这种情况。

这是我的模态的 HTML 内容模板:

我检查了 messges-include 指令,它已经尝试在父范围内找到控制器:

这是我从斯科特艾伦那里得到的一个很好的指导:/FipgiTUaaymm5Mk6HIfn(我不能发布超过 2 个链接)

我想这与模态有关。任何人都知道可能导致此错误的原因是什么?

0 投票
4 回答
14476 浏览

javascript - 角度 ng-messages 仅在 $touched 为真时显示

我没有做任何太特别的事情。

我有一个输入,我想在每次击键时都进行验证。如果验证失败,则显示错误。不要等待 blur 事件触发 $touched。

我认为这是默认情况,但显然不是。我正在使用有角度的材料和有角度的信息。我这样做是为了检测大写锁定。

标记:

当我第一次进入该页面时,打开大写锁定并开始输入,我的错误消息如下所示:

所以这似乎按预期工作,但实际上错误消息不会显示,直到该特定输入上触发模糊事件。所以我可以使用大写锁定,输入 10 个字符,错误对象说大写锁定错误存在,但由于 $touched 不正确,因此它不会显示。

一旦 $touched 设置为 true,我就可以返回输入,一切都按预期工作。

有任何想法吗?提前致谢!