根据API响应验证不同类型的反应形式

时间:2019-05-16 13:09:39

标签: angular

我已经从不同类型(例如单选按钮和复选框)生成了表单,并且每个表单都有不同的验证,但是我不知道我的回答是什么,所以我想根据我的回答来构建表单,如果类型是复选框,例如,需要进行验证,这是我的回复:

{
  Questions: [
    {
      type: "RadioButton",
      ID: 9,
      Options: [
        {
          ID: 3,
          Text: "John"
        },
        {
          ID: 4,
          Text: "Doe"
        }
      ],
      Text: "what is your name?"
    },
    {
      type: "CheckBox",
      ID: 9,
      Options: [
        {
          ID: 3,
          Text: "John"
        },
        {
          ID: 4,
          Text: "Doe"
        }
      ],
      Text: "what is your name?"
    },
    {
      type: "Text",
      ID: 9,
      Text: "what is your name?"
    }
  ]
}

所以我有3种不同的类型[RadioButton,CheckBox,Text],此后,我使用html构建表单,但是我尝试根据上述响应构建验证。这是我的html:

  <div class="form">
                        <form [formGroup]="profileForm">
                            <div formArrayName="aliases">
                                <div class="item" *ngFor="let item of items; let i = index">
                                    <ng-container *ngIf="item.type == 'CheckBox'">
                                        <span>{{item.Text}}</span>
                                        <div class="options" *ngFor="let option of item">
                                            <input type="checkbox" class="hidden" formControlName="{{i}}"
                                                   value="{{option.ID}}" name="{{option.Text}}">
                                        </div>
                                    </ng-container>
                                </div>
                            </div>
                        </form>
                    </div>

我尝试在ts中做到这一点:

   profileForm = this.fb.group({
        aliases: this.fb.array([
            this.fb.control('')
        ])
    });

但是我认为我的代码或概念中缺少一些东西。

0 个答案:

没有答案