如何验证 angular2 中的 FormArray 长度 [英] How to Validate FormArray length in angular2
本文介绍了如何验证 angular2 中的 FormArray 长度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 angular2 中有一个数据驱动的表单,如下所示
I have a data driven form in angular2 like below
this.formBuilder.group({
'name': ['',Validators.required],
'description': ['', Validators.required],
'places': this.formBuilder.array([], Validators.minlength(1))
})
我想向 place
formArray 添加验证,所以我添加了 minlength
验证,但 minlength 验证不适用于 formArray.
I want to add validations to the place
formArray, so i am adding minlength
validation, but minlength validation is not working on formArray.
formArray 的其他验证是什么,因此只有当 Places 数组包含至少一个地方时,该表单才有效.
What are the other validations for formArray, so that form must be valid only when places array contain atleast one place.
推荐答案
Validators.required
为您创造奇迹:
// using required
this.formGroup = this.formBuilder.group({
taskTreeId: [Common.UID()],
executionProgrammedTime: ["", [Validators.required]],
description: [""],
tasks: this.formBuilder.array([], Validators.required)
});
// using custom validation
export const minLengthArray = (min: number) => {
return (c: AbstractControl): {[key: string]: any} => {
if (c.value.length >= min)
return null;
return { MinLengthArray: true};
}
}
this.formGroup = this.formBuilder.group({
taskTreeId: [Common.UID()],
executionProgrammedTime: ["", [Validators.required]],
description: [""],
tasks: this.formBuilder.array([], minLengthArray(2))
});
<button type="button" class="btn btn-success btn-rounded"
[disabled]="!formGroup.valid">SAVE</button>
这篇关于如何验证 angular2 中的 FormArray 长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文