问题标签 [angular2-formbuilder]

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 投票
2 回答
1603 浏览

angular - 使用 FormBuilder 从 Angular 2 中的异步调用设置默认表单对象值

在进行异步调用以获取. "@angular/forms": "~2.1.0"_"angular-cli": "1.0.0-beta.19-3"FormGroupcampaignFormcampaign_config_idcampaignConfigs

我已经尝试按照另一个 SO 建议使用以下内容,但我得到了TypeError: _this.campaignForm.controls.campaign_config_id.updateValue is not a function.

我也尝试过强制this.campaignForm.controls['campaign_config_id']转换为NgControl,和其他对象FormControlSelectControlValueAccessor但它们都没有.updateValue功能。

关于如何最好地做到这一点的任何建议?

0 投票
1 回答
5515 浏览

html - Angular 2 Reactive Forms 复选框 - 将 Bool 绑定到数字

我有一个表单模型,其中包含一些表示为复选框的指标。目前,他们在表单对象 json 中将其值建模为真/假。我想要的是它们的值分别从布尔值转换为数字,1/0。有没有聪明的方法来做到这一点?

示例代码:

希望以上内容表明我正在尝试将“myToggle”的类型设置为数字。初始化表单是将默认值设置为 0 并正确地保留未选中的复选框。但是,将复选框更新为选中会将表单值设置为 true 而不是 1。我希望它更新为 1。通过这个问题,我看到有一些将布尔值转换为数字的选项。但是,我不确定如何使用反应式表单模型来实现这一点。

0 投票
1 回答
2265 浏览

angular - 具有相同 FormGroup 的两个表单?

是否可以使用相同的 FormGroup 创建两个表单?

我有一个表单来添加实体,另一个表单来编辑。两种表单都有相同的表单元素。到目前为止,我必须编写两个表单组并访问数据。但我需要使表单组全局化并在两种表单中使用它。可能吗?请指出我正确的方向。任何意见将是有益的。谢谢你。

这是我的片段:

添加实体组件:

需要在 addentitycomponent 和 editentitycomponent 中都使用这个表单组。

0 投票
2 回答
4116 浏览

validation - Angular2:如何为 FormGroup 创建自定义验证器?

我正在创建一个表单,FormBuilder并且我想将一个添加Validator到一个formGroup. 这是我的代码:

我想在某些条件下有条件地将验证器添加到某些地址的 formControls 中。

所以我validator通过以下方式添加了一个:

然后我开始为地址创建一个验证器FormGroup

我需要添加以下条件:

  1. 如果所有字段为空,则表单有效
  2. 如果填写了其中一个字段,则必须填写所有字段
  3. 如果place是国家(而不是城市)的实例,postalcode 则为可选
  4. 如果postalcode已填写,则zipValidator必须将
    其添加到其 formControl

那么,可以在某些条件下将 Angular2 添加Validators到 a中吗?FormGroup如果是,如何执行我的条件?我可以在另一个验证器的源代码中使用setValidators()和吗?updateValueAndValidity()

0 投票
3 回答
9284 浏览

angular - Angular 2 Form 错误:path.split 不是函数this.myForm.get(i)

试图在 Angular 2 中创建一个嵌套的动态表单。

形成骨架


动态添加程序可使用以下功能:-


向程序添加票证THROWS ERROR


.get(programme)它说path.split 不是一个函数


PS - 'get(programme)' 中的 program 是要添加动态票证的 Program Form Array 的索引。它是从 *ngFor 正确检索的。示例: - 添加的第一个程序的索引 0。

0 投票
0 回答
672 浏览

angular - 动态表单的嵌套 FormArrays

在我的应用程序中,我拨打电话并获得一个如下所示的数组:

我需要构建一个表单,将所有项目和人员显示为嵌套复选框。所以它看起来像:

所以看起来我需要将 FormArrays 嵌套在 Angular 2 的 ReactiveForms 中,以便我可以检索已选择的 ID。但是 FormArray 的资源非常有限,我还没有得到任何接近工作的东西。如何在显示名称和跟踪复选框的 ID 的同时通过表单对所有这些进行模板化?

我目前正在尝试什么:

在我的组件中

在我的模板中

这只是为了构建一个显示项目的 FormArray,并且我不断收到一个错误,显示为Cannot find control with unspecified name attribute. 请注意,这buildFilter()是我在获取数组后调用的内容,这应该将数据推送到 FormArray。

谢谢。

0 投票
1 回答
4993 浏览

forms - 设置初始值Angular 2反应formarray

我正在尝试为 angular 2 反应形式 formArray 对象设置初始值。

即使用于设置表单值的 json 对象包含具有多个条目的数组值,也只显示第一个条目,并且“form.value”也只显示第一个条目。

我正在使用语法(<FormGroup>this.myForm).patchValue(value, { onlySelf: true });来设置表单的初始值。

这是一个演示该问题的 plunker:https ://plnkr.co/edit/j1S80CmPBF1iHI5ViEia?p=preview

我使用了https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2中的示例来创建 plunker。

任何想法我做错了什么?

0 投票
1 回答
4820 浏览

angular - Angular 2 Multi Step Form 进度条

我正在尝试制作一个非常类似于(http://plnkr.co/edit/M03tYgtfqNH09U4x5pHC?p=preview)但使用 angular2 的流程。虽然没有考虑状态或数据,但我已经准备好流程,但我对进度条更感兴趣,我完全不知道从哪里开始进度条以及如何处理进度条。我真的很感激这方面的任何帮助。这是我拥有的静态组件的基本轮廓,它不做任何事情。

非常感谢您提前

0 投票
2 回答
1290 浏览

forms - Angular2:如何添加验证器并排除所需

我创建了一个自定义验证器来检查用户填写的电子邮件地址。无论如何,电子邮件字段不是必需的,但如果我添加我的验证器,它也包括在内required

这是我constructor的组件类中的表单:

电子邮件字段不是必需的,但如果用户不填写它,则表单不会得到验证。同时,如果用户填写它,我希望应用电子邮件验证。

这是我的电子邮件验证器:

我可以编辑我的自定义验证器以接受空字符串,但我认为这不是解决我的问题的正确方法。

你有更好的主意吗?

0 投票
1 回答
281 浏览

angular - 在Angular2中通过formBuilder创建表单时如何访问formControl

我有以下代码

我想订阅valueChangesof title,但Cannot read property 'valueChanges' of undefined出现错误。

我可以订阅,this.profileForm.valueChanges但我想在标题更改时进行某种去抖动和 api 调用。

看来,如果您有FormControl,您将能够订阅它的更改,但由于我使用的是FormBuilder语法,所以我无权访问FormControl.