问题标签 [angular-forms]

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 投票
4 回答
12878 浏览

angular - 我如何知道自定义表单控件何时在 Angular 中被标记为原始控件?

我的 Angular 应用程序中有几个自定义表单控件组件,它们实现ControlValueAccessor了接口并且效果很好。

但是,当markAsPristine()在父窗体上或直接在我的自定义控件上调用时,我需要更新它的状态:我的自定义控件实际上具有内部控件,我也需要调用markAsPristine()它。

所以,我怎么知道什么时候markAsPristine()在我的控件上被调用?

ControlValueAccessor接口没有成员,与这个问题有关,我可以实现。

0 投票
5 回答
40656 浏览

angular - 从 Angular 中的自定义表单组件访问 FormControl

我的 Angular 应用程序中有一个自定义表单控件组件,它实现了ControlValueAccessor接口。

但是,我想访问FormControl与我的组件关联的实例。我正在使用响应式表单并使用属性FormBuilder提供表单控制。formControlName

那么,如何FormControl从自定义表单组件内部访问实例?

0 投票
0 回答
451 浏览

angular - 在角度 2 上验证表单

我使用 angular-cli 创建了我的应用程序。我尝试验证我的表格。它在 html 文件中:

并创建了组件:

当我单击按钮时,我在控制台中看到一个错误:
ERROR TypeError: Cannot read property 'valid' of undefined

我在stackoverflow上寻找答案,但找不到。我在任何地方都创建了错误并花费了大量时间。

0 投票
2 回答
2820 浏览

angular - 检查错误计数角度反应形式

如果表单中的错误计数大于 1,我想有条件地应用 css 类。如何在 angular4 中执行此操作?

零件:

模板:

如果我想在表单错误计数大于 1 时应用该类,我该怎么做form-error<form>谢谢你的想法。

0 投票
2 回答
7024 浏览

javascript - Angular自定义异步验证器不起作用

这是演示 plnkr。我正在尝试为具有文本框和验证按钮的 OTP 输入实现自定义异步验证器。我只想在用户单击验证 OTP 按钮或表单提交按钮时验证输入。目前正在文本更改事件上进行验证,但它不起作用。 表单 HTML:

表单组件:

0 投票
2 回答
1824 浏览

angular - 反应形式改变 Angular 2

我有一个想要检测更改的反应形式。例如,当用户查看产品时,会打开一个“查看产品”页面,在所有表单字段中填写该产品的详细信息。如果对表单中的任何值进行了更改,我希望启用“保存”按钮(默认情况下禁用)。但是,如果用户撤消更改或恢复到加载时的状态,“保存”按钮将再次被禁用。

这可能吗?我见过一些人这样做,其中 angular 检测到表单更改并使表单“脏”,但是一旦表单被弄脏,将状态更改回原始状态并不容易或直观。我还阅读了人们在哪里将初始产品详细信息加载到本地存储中,并将当前状态的表单值 JSON 与本地存储 JSON 进行比较,并基于此启用/禁用按钮。有没有人有首选或更好的方法?

谢谢

0 投票
0 回答
323 浏览

forms - Angular 表单仅适用于 app.component.html

我想在上传图片的组件中使用表单,但我只能在app.component.html.

在我的app.module.ts我有

在我的app.component.ts我有:

最后在我的app.component.html我有这个:

当我编译这个时,我可以毫无问题地看到表单。

但是当我尝试在不同的组件中创建表单时,例如上传,/upload/upload.component.html我得到一个错误:

未捕获的错误:模板解析错误:无法绑定到“formGroup”,因为它不是“form”的已知属性。

所以看起来 app.module.ts 的导入语句没有被识别/upload/upload.component.ts

有想法该怎么解决这个吗?

0 投票
0 回答
180 浏览

angular - 当下拉列表是 ngModel 时,在 UI 的下拉列表中设置默认值

我面临的问题是这个。所以我在一个表单中有 3 个下拉菜单。我需要它们都在 ngModel 中并显示在控制台中。The first two dropdowns have indicators on the left side of the dropdown list when ANY value of the list is selected. 这两个下拉菜单在其标签中使用 ngModel。第三个不需要这个功能,但没有 ngModel 它不会在控制台中出现。现在我有这个,它正在选择所有选择标签来拥有这个验证器:

我意识到我可以将 ngModel 从第三个下拉列表中移除,但这是最重要的。我需要在页面加载时让下拉菜单显示默认值,如果我没有 ngModel 它会这样做,但我需要它用于控制台。

0 投票
0 回答
304 浏览

angular - 围绕组件的角度形式

我有一个这样的场景

我需要一个包裹在组件周围的表格

和 HTML 结构应如下所示:

每个组件都有特定的输入集,整个结构如下所示:

但是表单验证不起作用。和表格状态我们总是有效的。请问有什么建议吗?

0 投票
1 回答
1554 浏览

angular - Angular 2 基于掩码验证输入

我在我的 Angular 2 项目中使用这个插件来屏蔽一些输入。

我遇到的问题是验证输入是否应用了正确的掩码。

每当我尝试检查它的值时,它总是valid。例如,我有一个掩码来填写电话号码,就像在示例中一样:

但是,即使我填写了 2 个数字(11_) ___-____,它也会将该字段视为valid.

我试图设置一个自定义验证器来检查输入长度,但它也通过了,因为它被预填充了_.

我不知道如何为这种类型的场景创建验证,包括更复杂的验证。