问题标签 [angular-validation]

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 投票
6 回答
36649 浏览

angular - 所有子控件的角度形式 updateValueAndValidity

在我的 Angular 4 应用程序中,我有一个带有多个控件的表单。

在某些时候我需要强制更新它们的有效性,所以我正在做:

接着:

这很好用。

但是我想知道是否有更好的方法来完成同样的事情,只需在父表单上调用一个方法。

根据其文档,该updateValueAndValidity()方法:

默认情况下,它还会更新其祖先的值和有效性。

但就我而言,我需要更新其后代的价值和有效性。所以我可以摆脱很多行代码。

0 投票
2 回答
419 浏览

angular - Angular 2中的自定义重复密码验证错误

我正在从参考 scotch.io 网站学习 Angular2 Custom Validation for Repeat password for Registry form:
https ://scotch.io/@ibrahimalsurkhi/match-password-validation-with-angular-2

这是我的 validator.compare.ts 代码:

和Registration.ts:

我收到以下错误:

'{验证器类型的参数:(AC:AbstractControl)=>任何;}' 不可分配给“ValidatorFn”类型的参数。对象字面量只能指定已知属性,而“ValidatorFn”类型中不存在“validator”

为了更清楚,我附上了屏幕截图。 在此处输入图像描述

以下是路径的项目文件夹层次结构:
在此处输入图像描述

0 投票
1 回答
4820 浏览

angular - Angular 4 自定义验证错误消息

我正在使用 Angular 4(反应式表单)处理表单,我的问题是我无法单独显示电子邮件地址字段的错误消息。

我正在尝试这种格式,但没有运气。

这是我的示例代码

注册组件.ts

register.component.html

谢谢。

0 投票
3 回答
790 浏览

angular - 我可以使用主题来制作自定义异步验证器吗?

我有没有机会通过一个主题来实现这一目标?暂时我只是通过一个承诺来实现这一点。所以我调用了 resolve 方法,它工作正常。

我试图做以下事情。

在这里,我试图在值为 test@test.com 时发出事件,否则为 null,因为 Angular 中的文档说关于验证器。我试图模拟让我们说一个后端服务,这就是我实现 setTimeout 功能并给出 2 秒超时的原因。现在的问题是,当我检查放置验证器(电子邮件输入元素)的输入元素时,ng-pending总是会显示类。所以,出于某种原因,我没有订阅它,我知道。但我怎么能?

这是我在 FormGroup 中调用验证器的地方。

0 投票
1 回答
970 浏览

javascript - 根据Angular 4中复选框的更改对输入运行验证

我正在遍历一组键值以创建一个复选框列表,每个复选框都有一个同级禁用输入。选中每个复选框后,同级输入文本字段将启用并且是必需的。在此视图中,有一个“上一个”和“下一个”按钮,如果用户选择了一个复选框,然后没有在其所需的同级输入中输入任何内容,则应该禁用“下一个”按钮。我几乎可以正常工作,但是一旦用户选中该框,“下一步”按钮就应该被禁用,因为这意味着他们没有在所需的文本输入中输入任何内容。现在,“下一步”按钮只有在用户选中复选框时才会被禁用,专注于兄弟输入,然后不输入就离开。

我的 HTML...

以及我在 .ts 文件中使用的禁用“下一步”按钮的方法:

当用户选中复选框时,如何验证同级输入?

0 投票
1 回答
275 浏览

angular - ng2-validation 在用户与表单交互后触发验证

我正在使用该ng2-validation模块来验证我的表单,并且可以正常使用验证。问题是,当我加载页面时,即使我从未触摸过表单,表单也会出现验证错误,所以我需要在用户使用表单后进行验证,而不是在页面加载时进行。

这是我的表单模板:

0 投票
1 回答
6678 浏览

angular - Angular 2自定义验证器检查何时需要两个字段之一

我正在尝试实现一个自定义验证器功能来检查是否输入了任何一个电话号码(家庭电话和手机)。我想在两个字段都被触摸并且没有有效值时显示错误消息,由于某种原因我的代码没有按预期工作。请帮我完成这件作品。-谢谢!这是 stackblitz 链接https://stackblitz.com/edit/angular-ve5ctu

0 投票
0 回答
2131 浏览

angular - 基于Angular 2中的另一个表单控件修改表单控件值的最佳方法

在 Angular 2 反应式表单中,根据另一个值更改表单控件值的最佳方法是什么?是订阅我的 FormGroup 的.valueChanges方法并.setValue根据某些条件调用适当的表单控件,还是在 FormGroup 上创建一个自定义验证器,.setValue根据某些条件调用适当的表单控件?

我喜欢使用自定义验证器的想法,因为这样我就不必担心另一个订阅/取消订阅,但似乎验证器不是应该修改 FormGroup 的东西,而不是添加验证错误。

0 投票
2 回答
967 浏览

angular - 使用反应式表单时如何确定子组件表单在父组件中是否有效

我正在使用带有反应形式的 Angular 5

子组件类:

在我的父组件表单中,如果上述验证器无效,我将禁用按钮

在父组件html中:

在父组件类中:

一切正常,但是我得到了众所周知的错误

ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:“真”。当前值:'假

我尝试了此博客中列出的更改检测解决方案,但没有帮助。

https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4

所以我被卡住了,除非我忽略错误,因为应用程序可以很好地处理错误。

0 投票
1 回答
3050 浏览

javascript - ng-maxlength 不起作用

我有一个 Angular 4 应用程序。我正在尝试向表单输入添加验证,其中带有数字的输入不应接受超过 4 位数字。如果更多,它应该使表格无效。我正在使用反应形式。这是代码。

如果我输入 11111 它应该使输入无效并且应该打印上面的警报消息;这没有发生。知道这里出了什么问题吗?谢谢。