проблема проверки выбора даты при обновлении пользовательских данных - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь добавить / обновить учетные записи пользователей с помощью диалоговой формы (добавить и обновить в некотором диалоговом окне, а система выбирает тип операции по значению переменной, введенной основным компонентом в диалог), проблема заключается в том, что Я попытался запустить обновление и обнаружил, что ошибка проверки запуска моего средства выбора даты (но я не наложил на нее никаких условий проверки) и кнопка отправки отключена, это пи c моей формы обновления. enter image description here

и вот код мой html:

        <form [formGroup]="profileForm" class="event-form w-100-p" fxLayout="column" fxFlex>
...
 <div fxFlex="1 0 auto" fxLayout="column" fxLayout.gt-xs="row">

                <mat-form-field appearance="outline" class="pr-sm-8" fxFlex="100">
                    <mat-label>Date de naissance</mat-label>
                    <input matInput [matDatepicker]="startDatePicker"  formControlName="birthday">
                    <mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
                    <mat-datepicker #startDatePicker ></mat-datepicker>
                </mat-form-field>

            </div>
...
<div mat-dialog-actions class="m-0 p-16" fxLayout="row" fxLayoutAlign="end center">

        <button  mat-button color="primary"
                class="save-button"
                (click)="onaccept()"
                [disabled]="profileForm.invalid"
                aria-label="ADD">
                {{ActionType}}
        </button>

    </div>

component.ts:

profileForm = this.fb.group({
    Nom_de_famille: ['' ,Validators.required],//
    Prénom: ['' ,Validators.required],//
    email: ['', [Validators.email,Validators.required]],//
    Code_personnel: [,Validators.compose( [Validators.min(1000), Validators.max(9999)])],//Validators.required
    N_tel: [''],
    birthday: [''],
    adresse: [''],
    lieu:[''],
    CIN:['',Validators.compose([Validators.min(10000000), Validators.max(99999999)])],
    Genre:[''],
    N_permis:[''],
    Département: ['',Validators.required]
  });
  constructor(public dialogRef: MatDialogRef<EditNewChauffeursComponent>, private fb: FormBuilder)
  ngOnInit() {
       this.setdefaultformvalues(this.indata.SendData);
}
 setdefaultformvalues(row) {
    this.profileForm.patchValue({
      Nom_de_famille: [row.FirstName],
      Prénom: [row.LastName],
      email: [row.Email],
      Code_personnel: [row.DriverCode],
      N_tel: [row.Tel],
      birthday: [''],
      adresse: [row.Address],
      lieu:[row.BirthPlace],
      CIN:[row.CIN],
      Genre:[row.DriverLicenseType],
      N_permis:[row.DriverLicenseNumber],
      Département: [row.DepartmentId]
    });

  }

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

можете ли вы добавить консольный журнал profileForm после его заполнения и проверки объекта управления в нем, вы увидите все свои элементы управления там, затем проверьте контроль дня рождения и увидите там ключ ошибки, проверьте, что ошибка

[это пример этого]

0 голосов
/ 15 апреля 2020

Внутри setdefaultformvalues сделать это:

birthday: null,

вместо

birthday: [''],
...