设置初始值 角度2 反应式窗体阵列
我试图为Angular 2反应形式形式对象设置初始值. 即使用于设置表单值的JSON对象包含带有多个条目的数组值,但仅显示第一个条目,并且" form.Value"也仅显示第一个条目. 我正在使用语法(this.myForm).patchValue(value, { onlySelf: true });在表单上设置初始值. 这是一个证明问题的plunker: ?p =预览 我使用了有什么想法我做错了什么? 解决方案 您将addresses设置为表单数组,在initAddress()方法中,您只返回一个元素. 如果将第二个调用添加到addresses数组,则获得第二个地址. this.myForm = this._fb.group({ name: ['', [Validators.required, Validators.minLength(5)]], addresses: this._fb.array([ thi
Angular 2 Reactive Forms: 无法找到带有路径的控件
我想知道,当我在另一个FormBuilder组内有一个数组时,我需要做些什么才能使用" setControl"和" get".例如: this.formulario = this.formBuilder.group({ title: [this.racPessoa.title, [Validators.required]], description: [this.racPessoa.description, [Validators.required]], person: this.formBuilder.group({ idPerson:[this.racPessoa.person.idPerson], name:[this.racPessoa.person.nome], personDocument: this.formBuilder.array([]) }), }); 在上面的情况下,如果我想处理"标题,我可以写: this.f
0 2024-02-25
编程技术问答社区
Angular Reactive Forms如何将对象传递给具有类和验证器的FormGroup
我有一个很大的形式可以创建并决定使用反应性形式功能以易于使用.但是,我面临一些明显并寻求帮助的挑战. 以下有两种情况,在验证之外产生相同的结果. createFormWithValidation()方法详细介绍了每个控件,它是关联的验证器. createFromPassingObject()方法仅使用this.party对象而没有添加验证器创建相同的表单. 我的目标是将对象传递到this.fb.group(),该对象将具有类是类的控件,并能够为Party类的每个属性指定验证器. // The Class with the properties export class Party { firstName: string = ''; lastName: string = ''; constructor() {} } // party Object myForm: FormGroup; this.party = new Party(); // Form w
0 2024-02-25
编程技术问答社区
如何清除角反应形式的FormArray
我正在重置形式.它重置整个表格,但除了formarray. 在其中创建表单和声明的formarray createForm(){ this.invoiceForm = this.formBuilder.group({ 'name': ['', Validators.required], 'gst': [''], 'currency': [''], 'addressLine1': ['', Validators.required], 'addressLine2': [''], 'city': ['', Validators.required], 'state': ['', Validators.required], 'country': ['', Validators.required], 'postalCode': ['', Validators.require
0 2024-02-25
编程技术问答社区
用于验证的带有hasError()的表单生成器抛出error TypeError错误:无法读取属性';hasError';的未定义
嗨,我正在使用Form Builder在Angular 2中实现表格 在component.ts中,我已经使用formgroup 实现了我的表单 以下是我的代码 public myForm: FormGroup; constructor(private authenticateservice: AuthenticateService, private _fb: FormBuilder ) { } ngOnInit() { this.myForm = this._fb.group({ address: [this.userDetails.address, [Validators.required]], address2: ['', [Validators.required]], city: ['', [Validators.required]],
角形2罐';t设置表单数组值
我得到此错误: 尚未在此数组中注册的表单控件.如果您使用的是ngmodel,则可能需要检查下一个tick(例如,使用SetteMeTout). 使用此代码时: public settingsForm: FormGroup = this.fb.group({ collaborators: this.fb.array([]), rsvp: this.fb.group({ latestDate: ['', [Validators.required]], latestTime: ['', [Validators.required]], guestLimit: ['', [Validators.required]], isRSVPOpen: false, isGuestPlusOne: false, isAutoApproveToGuestlist: false, isOnlyFacebookRSVP: false,
带有{emitEvent:false}的patchValue触发值Angular 4表单组上的更改
我有一个formbuilder组,正在聆听Valuechanges的更改并触发保存功能,然后在表单上刷新功能: this.ticketForm.valueChanges.debounceTime(1000).distinctUntilChanged() .subscribe(data => { this.saveTicket(); this.refreshTicket(); }) 然后,我正在重新加载表单,然后重复数据以形成字段(以及页面上的其他位置,尤其是更改日志),例如: this.ticketForm.patchValue(ticket, { emitEvent: false }); 然而,尽管emiteVent:false,这会导致形式的无限循环. 这是一个角4/离子3错误还是我的误解? 解决方案 尝试以这种方式添加onlySelf: true以及emitEvent: false: this.ticketForm.
立即禁用整个表单(角度反应表单)
使用反应性形式时,是否有任何方法可以将整个形式禁用.我知道有可能使它们一个一个一个. this.tempForm = this.fb.group({ m26_type: '', m26_name: '' }) this.tempForm.get('m26_type').disable(); 是否可以禁用整个形式,而不是使每个控制器分开禁用? 解决方案 this.tempForm.disable(); 禁用控件.这意味着控制权将免于 验证检查并从任何父母的汇总值中排除. 它的状态被禁用. 如果控件有孩子,所有孩子将被禁用以维护 模型. link 更新 plunker链接 - 一个> 其他解决方案 如果使用模板驱动(带有NGMODEL),则可以添加到代码 //at ts //create view child @viewChild('myForm')form:any;
0 2024-02-25
编程技术问答社区
反应式表单将字段标记为已触摸
我很难找到如何将所有形式的字段标记为触摸. 主要问题是,如果我不触摸字段并尝试提交表单 - 未显示的验证错误.我在控制器中有该代码的占位符. 我的想法很简单: 用户点击提交按钮 所有字段标记为触摸 错误格式化重新运行并显示验证错误 如果有人有其他想法如何在提交时显示错误,而无需实施新方法,请分享.谢谢! 我的简化形式: {{ formErrors.title }} Submit
0 2024-02-25
编程技术问答社区
Angular验证器。我可以根据表单元素的验证器为其添加样式吗?
我正在使用Angular与Forms 4.1.0和材料版本2.0.0-Beta.8一起使用.我的字段需要根据存储在数据库表中的配置进行标记,因此所需的特定字段可以根据该配置进行更改,并且在开发时不知道.我正在动态设置验证器.根据该配置,请在我的表单控件上进行控制,这一切都很好(即,如果您在访问它们后将它们留空,则适当的字段将变红). 但是,我还需要标记标签后用星号标记所有必需的字段.我有基于HTML"必需"属性来执行此操作的CSS,但是不幸的是,Angular并未将此属性(或我可以看到的任何类)应用于一个基于IT验证器的字段.验证者在无效的情况下将ng-invalid类放在上面,但是当它是有效或不触及时,没有任何东西可以持续. 有什么方法可以使验证器自动应用属性或类?也许通过扩展验证器.需要或以其他方式创建自定义验证器?出于绝望,我诉诸于我的控制器中创建isRequired(fieldName)方法,并用[required]="isRequired('fieldName')标
0 2024-02-25
编程技术问答社区
AngularDart: 用Reactive Form Builder创建一个表单
我正在尝试使用AngularDart 5,angular_forms 2创建. API似乎与angular_forms 1有很大不同,我无法弄清楚如何使用FormBuilder和ControlGroup来创建FormGroup.以下是我的代码. logincomponent.dart import 'dart:convert'; import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; @Component( selector: 'login-comp', templateUrl: 'login_component.html', styleUrls: ['login_component.css'], directives: [formDirectives, coreDirectives]) class LoginComp
4 2024-02-22
编程技术问答社区
提交时返回所有行的输入值 angular 2
我是Angular 2的新手.我有一个表,单击"添加寄售"选项时,它添加了一个带有序列号和多个输入插槽的新行.现在,添加更多的货物(在表中添加了更多的多个输入插槽的行),并将信息输入到所有这些行并提交,只有最后一行的值返回.有人可以告诉我如何将表从表作为一个对象返回所有多个输入行的值?谢谢. 以下是我的代码: 模板 Consignment Details Add Consignment
Angular。将从bootstrap-datepicker中选取的日期与底层ngModel或formControlName绑定。
我正在使用 html: 组件中的datepicker config: datepickerConfig = { format: 'dd-M-yyyy' }; 指令: @Directive({ selector: '[datepicker]' }) export class DatepickerDirective implements OnInit { @Input() datepicker; constructor(private el: ElementRef) { } ngOnInit() { $(this.el.nativeElement).datepic
如何在angular2反应式中迭代form array(array in array in array)?
我尝试多次迭代formarray, 这是这种情况的plunker链接我想像这样的plunk p =预览 这是我的场景 [ { "id": 1, "legend": "businessModule", "group": [ { "id": 1, "permission": { "controleType": "ff", "id": 2, "key": "create Business" }, "roles": [ { "id": 1, "name": "self" }, { "id": 2, "name": "other" } ] }, { "id": 1,
0 2024-02-22
编程技术问答社区
使用ngFormel时,angular2无法读取未定义的属性'validator'(ES6)。
使用ngformmodel指令与表格 它说:" typeError:无法读取form_one中未定义的属性'验证器' import {Component} from 'angular2/core' import { FORM_DIRECTIVES, FormBuilder, ControlGroup, Validators } from 'angular2/common' @Component({ selector: 'demo-form-sku-builder', directives: [FORM_DIRECTIVES], template: ` Demo Form: Sku with FormBuilder
0 2024-02-22
编程技术问答社区
Angular2表单中的嵌套组?
我正在使用Angular 2中的反应性形式模块来创建一些嵌套组的形式. 我的"信任"表格在 上有一系列联系人 this.newTrustForm.controls['contact'] "联系人"组中的一个字段之一是"电子邮件"组的数组,我尝试在这里找到它,但是,a.然后我在哪里找到它? this.newTrustForm.controls['contact'].controls['email'] 我设置了以下表单. constructor(private _fb: FormBuilder) { } ngOnInit() { this.newTrustForm = this._fb.group({ ... contact: this._fb.array([]), ... }); } i然后添加以下"联系"组. initContact() { return this._
0 2024-02-22
编程技术问答社区
Angular 2-在订阅中创建表单会导致崩溃,说formGroup是未定义的。
我在Firebase数据库中有一些数据,我想通过FormBuilder应用这些数据.它有些效果很好,但是我经常会遇到错误,而不是不说formGroup expects a FormGroup instance. Please pass one in.. 没有道理的是,当我对数据库应用新更改(导致订阅命中)时,我会遇到错误.尽管this.settingsForm在更新后订阅之前和之后都设置了. 这是订阅: this.eventSubscription = this.af.database.object('/events/' + this.eventId).subscribe( (event: IEvent) => { const rsvp: IRSVP = event.rsvp; const settings: ISettings = event.settings; const tickets: ITickets = event.ticket
4 2024-02-22
编程技术问答社区
如何在Angular2中根据当前组件的属性值编写自定义表单验证器(模型驱动)?
我正在使用最新的Angular2表格,并努力处理这项简单的任务.我想拥有一个自定义验证功能,该功能能够读取当前组件的属性并基于此验证输入.这是PLNKR的示例: /p> 在此示例中,我有一个始终需要的用户名字段,并且只有在客户是现有的情况下才需要的密码字段. 我的表格声明是: this.loginForm = this.formBuilder.group({ username: ["", Validators.required], password: ["", this.passwordRequiredForExistingCustomer] }); 我的验证功能是: passwordRequiredForExistingCustomer(control: FormControl): {[key: string]: boolean} { let val = control.value; if (this.state === "existing
0 2024-02-22
编程技术问答社区
验证器与表格中的其他值相同
我想知道是否有一个验证器比较了同一形式的两个不同值 - 让我有以下内容: this.loginForm = fb.group({ email: ["", Validators.required], password: ["", Validators.required], repeatPassword: ["", Validators.required] }); 我找到了 this 不是很有帮助. 有什么想法? 解决方案 您需要将验证器分配给完整的表单组才能实现.这样的东西: this.form = fb.group({ name: ['', Validators.required], email: ['', Validators.required] matchingPassword: fb.group({ password: ['', Validators.required], repea
2 2024-02-22
编程技术问答社区