我们如何检查最终用户是否更改了预填充?

时间:2018-10-09 05:15:12

标签: json angular angular-reactive-forms

我正在使用Angular 5和反应形式。 我的要求很简单:

我有一个使用对象预先填充的表格。 我将对象存储在userObj中,稍后将表单值存储在有效负载变量中。 我想比较这两个对象,并想得出是否更改了表单的结论。

表单控件:

x<- read.csv("stack_null.csv", na.strings=c("NULL"))
str(x)
x_null1 <- na.omit(x)

表单对象:

firstNameControl = new FormControl('', Validators.required);
  lastNameControl = new FormControl('', Validators.required);
  phoneControl = new FormControl('', Validators.required);
  emailControl = new FormControl('', Validators.required);

我使用以下对象预先填充表格:

    userForm: FormGroup;

  this.userForm = new FormGroup({
  firstNameControl: this.firstNameControl,
  lastNameControl: this.lastNameControl,
  emailNameControl: this.emailControl,
  phoneControl: this.phoneControl
 });

所以在提交表单时,我想检查userObj和有效载荷是否相同

 let userObj = {
            "user":{
                "profile":{
                    "details":
                    {
                        "firstname":'xyz',
                        "lastname":"abc",
                        "phone":"99987777"
                        "email":"email@gmail.com"

                    }
                }
            }

        } 

我尝试使用JSON.stringify进行比较,但是没有用。

我实际上有更多的键值和表单控件。

1 个答案:

答案 0 :(得分:0)

您不能在其中使用简单的JSON.stringify。您必须像link

那样进行深层对象比较

您可以使用对象比较功能实现您的目标。我为您提供了一个示例。 stackblitz