File

src/app/shared/dynamic-form/services/dynamic-form.service.ts

Index

Methods

Constructor

constructor(fb: FormBuilder)
Parameters :
Name Type Optional
fb FormBuilder No

Methods

Public createFormGroup
createFormGroup(inputs: DynamicFormInput[])
Parameters :
Name Type Optional
inputs DynamicFormInput<any>[] No
Returns : FormGroup
import { Injectable } from '@angular/core'

import { FormBuilder, FormGroup } from '@angular/forms'

import { DynamicFormInput } from '../models/dynamic-form-input.model'

@Injectable()
export class DynamicFormService {
  constructor(
    private fb: FormBuilder
  ) {}

  public createFormGroup(inputs: DynamicFormInput<any>[]): FormGroup {
    const group = this.fb.group({})

    inputs.forEach(formInput => {
      if (formInput.validators) {
        group.addControl(formInput.name, this.fb.control(formInput.defaultValue, formInput.validators))
      } else {
        group.addControl(formInput.name, this.fb.control(formInput.defaultValue))
      }
    })

    return group
  }
}

result-matching ""

    No results matching ""