Проверка не работает после очистки формы - PullRequest
0 голосов
/ 18 октября 2019

Я не могу удалить с помощью this.stockForm.reset ();поэтому я использую это для очистки данных после отправки:

 clearall(): void {
        this.isEditMode = false;
        this.stockForm.reset({
            sku: '',
            productName: '',
            counted: '',
        });
        Object.keys(this.stockForm.controls).forEach(key => {
            this.stockForm.get(key).setErrors(null);
        });
}

Когда я снова нажимаю кнопку отправки, я не могу получить подтверждение;получение значений по умолчанию;поэтому дайте мне знать, как еще раз проверить после очистки формы.

Ответы [ 3 ]

0 голосов
/ 18 октября 2019

Можете ли вы попробовать использовать Validators.required при сбросе формы?

clearall(): void {
        this.isEditMode = false;
        this.stockForm.reset({
            sku: ['', Validators.required],
            productName: ['', Validators.required],
            counted: ['', Validators.required],
        });
        Object.keys(this.stockForm.controls).forEach(key => {
            this.stockForm.get(key).setErrors(null);
        });
}

Надеюсь, это поможет! Ура!

Пожалуйста, проверьте этот пример => https://stackblitz.com/edit/angular-reactive-forms-lgguij

0 голосов
/ 18 октября 2019

После сброса формы вы запускаете проверки вручную, вызывая setErrors (null). setErrors (null) означает, что вы устанавливаете свойство формы как допустимое, поэтому вы не получите никакого сообщения проверки.

setErrors

Оно будет работать после удаленияниже код

 Object.keys(this.stockForm.controls).forEach(key => {
        this.stockForm.get(key).setErrors(null);
    });
0 голосов
/ 18 октября 2019

Привет, просто оставь свою форму вот так:

 clearall(): void {
        this.isEditMode = false;
        this.stockForm.reset();
        Object.keys(this.stockForm.controls).forEach(key => {
            this.stockForm.get(key).setErrors(null);
        });
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...