我试图在我的Angular应用程序的表单验证器中使用变量或enum。例如,不用
TestValue: ['', [Validators.min(0), Validators.max(72)]];
有了硬编码的数字,我想在Validators参数中传递一个枚举或一个变量,它将具有这些数字值,以便我可以跨组件使用它们。
这可能吗?
kjump。是的,你可以设置变量值来验证表单。请输入以下代码:
组件文件:
form: FormGroup;
min;
max;
constructor(private fb: FormBuilder) {
this.min = 0;
this.max = 72;
this.createForm(this.min, this.max);
}
createForm(min, max) {
this.form = this.fb.group({
capacity: ['', [Validators.min(min), Validators.max(max)]],
});
}
submit() {
console.log(this.form.value);
console.log(this.form.controls['capacity'].errors);
}
在你的HTML文件
<form [formGroup]="form" (ngSubmit)="submit()">
<input type="number" formControlName="capacity" name="capacity" />
<button>Submit</button>
</form>
我希望这将帮助您找到您期望的解决方案。谢谢你。