我有一个CRUD Web表格,用于添加,编辑,删除...,以便使用FormBuilder进行表单验证。
this.saisieForm = this.fb.group({
'val1': ['', Validators.required],
'val2': ['', Validators.required],
'val3': ['', [Validators.required, ValidateVal1]],
'val4': new FormControl(''),
}, {validator: ValidatorsSaisies.validateMontant(Validators.required, ['val3', "val4"])});
我想导入CSV文件以添加行并使用相同的验证方法(例如表单)。
readFile(file: File) {
let isFirstLine:boolean = true;
var reader = new FileReader();
let fileBuffer = "";
reader.onload = () => {
let lines = reader.result.split("\n");
for(let line of lines)
{
if(!isFirstLine) {
let valSaisie:ValSaisie = ValSaisie.pivotCsvToSaisieVal(line, this.lst1, this.lst2);
this.valSaisies.push(ValSaisie.pivotCsvToSaisieVal(line, this.lst1, this.lst2);
this.valSaisie = ValSaisie.pivotCsvToSaisieVal(line, this.lst1, this.lst2);
this.saisieForm.get('val1').setValue(opeSaisie.val1);
console.log("+++++"+this.saisieForm.get('val1').value);
this.saisieForm.get('val2').setValue(opeSaisie.val2);
this.saisieForm.get('val3').setValue(opeSaisie.val3);
this.saisieForm.get('val4').setValue(opeSaisie.val3);
console.log(this.saisieForm);
if (this.saisieForm.invalid )
{
console.log("++++++++++++++++I Am Invaliddddd");
//console.log(this.saisieForm);
}
}else {
isFirstLine = false;
}
}
};
reader.readAsText(file);
}
我的表格始终是无效的...。
console.log("+++++"+this.saisieForm.get('val1').value); --> I have the value
console.log(this.saisieForm); --> all the values are nulls ...
答案 0 :(得分:1)
在值更改后,尝试对表单和单个updateValueAndValidity()
调用FormControl
方法。