Angular форма недействительна с действительными элементами управления - PullRequest
0 голосов
/ 28 апреля 2020

Я создаю из группы с существующими значениями:

this.form = new FormGroup({
  field1: new FormControl(
    {
      value: obj ? obj.value : null,
      disabled: obj
    },
    Validators.required
  ),
  field2: new FormControl(
    {
      value: obj ? obj.value : null,
      disabled: obj
    },
    Validators.required
  )
});

Воспроизведение: https://stackblitz.com/edit/angular-aadkss

Я хочу, чтобы, когда объект obj существует для заполнения значения, чтобы быть действительным и отключенным, но он заполняет значения, будучи отключенным и недействительным, недействительным. Как я могу сделать это действительным?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Это невозможно, значения .valid и .disabled зависят от значения .status элемента управления, которое может иметь только одно значение, см. https://github.com/angular/angular/blob/f27deea003822ed46437e74f102b281f692b7811/packages/forms/src/model.ts#L191

/**
  * The validation status of the control. There are four possible
  * validation status values:
  *
  * * **VALID**: This control has passed all validation checks.
  * * **INVALID**: This control has failed at least one validation check.
  * * **PENDING**: This control is in the midst of conducting a validation check.
  * * **DISABLED**: This control is exempt from validation checks.
  *
  * These status values are mutually exclusive, so a control cannot be
  * both valid AND invalid or invalid AND disabled.
  */
public readonly status!: string;
0 голосов
/ 28 апреля 2020

Вы можете положить его в стек? чтобы мы могли понять, что именно вы имеете в виду?

...