Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何检查html表单是否已编辑?_Angular_Typescript_Forms - Fatal编程技术网

Angular 如何检查html表单是否已编辑?

Angular 如何检查html表单是否已编辑?,angular,typescript,forms,Angular,Typescript,Forms,在typescript中,有没有一种方法可以通过返回true/false来检查表单是否有更改。假设我的名字字段的当前值为:John。当我输入Johny时,它应该返回true。但如果我将其还原回John,这意味着没有任何更改,因此它应该返回false 目前,我正在尝试以下代码,但效果不是很好: this.form.valueChanges.subscribe(result => { console.warn(result); }); 虽然在你的问题中没有提到,但我假设表单的类型是一个角

在typescript中,有没有一种方法可以通过返回true/false来检查表单是否有更改。假设我的名字字段的当前值为:John。当我输入Johny时,它应该返回true。但如果我将其还原回John,这意味着没有任何更改,因此它应该返回false

目前,我正在尝试以下代码,但效果不是很好:

this.form.valueChanges.subscribe(result => {
  console.warn(result);
});

虽然在你的问题中没有提到,但我假设
表单的类型是一个角度

如果您只需要知道是否有任何值,则可以使用
dirty
属性

let form = new FormControl('');
// ...
return form.dirty;
 let form = new FormControl('', [
  Validators.required,
  Validators.minLength(4)
 ]);
 // ...
 form.updateValueAndValidity();
 return form.valid;
或者,您可以使用来精确限制可能的值,并最终检查
valid
属性

let form = new FormControl('');
// ...
return form.dirty;
 let form = new FormControl('', [
  Validators.required,
  Validators.minLength(4)
 ]);
 // ...
 form.updateValueAndValidity();
 return form.valid;

this.form.dirty