gpt4 book ai didi

angular - 如何验证 angular2 中的 FormArray 长度

转载 作者:太空狗 更新时间:2023-10-29 16:54:04 25 4
gpt4 key购买 nike

我在 angular2 中有一个数据驱动的表单,如下所示

this.formBuilder.group({
'name': ['',Validators.required],
'description': ['', Validators.required],
'places': this.formBuilder.array([], Validators.minlength(1))
})

我想将验证添加到 place formArray,因此我添加了 minlength 验证,但 minlength 验证不适用于 formArray。

formArray 的其他验证是什么,以便只有当 places 数组至少包含一个位置时,该表单才有效。

最佳答案

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>

关于angular - 如何验证 angular2 中的 FormArray 长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42184800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com