Почему проверка не работает после очистки? - PullRequest
0 голосов
/ 21 сентября 2018

После добавления метода: «addPost», форма очищается, проверка не работает и кнопка добавления активна, она должна быть активной только при правильном заполнении форм.Помогите пожалуйста решить проблему

<div class="card" *ngIf="toggleCreate">
    <div class="card-body">
        <form [formGroup]="angForm" novalidate>
            <div class="form-group">
                <label class="col-md-4">Picture Title</label>
                <input type="text" class="form-control" formControlName="title" minlength="1" #title/>
            </div>
            <div *ngIf="angForm.controls['title'].invalid && (angForm.controls['title'].dirty || angForm.controls['title'].touched)"
                 class="alert alert-danger">
                <div *ngIf="angForm.controls['title'].errors.required">
                    Title is required.
                </div>
            </div>
            <div class="form-group">
                <label class="col-md-4">Picture Address (url)</label>
                <input type="url" class="form-control" formControlName="url" #url pattern="https?://.+"
                       title="Include http://"/>
            </div>
            <div *ngIf="angForm.controls['url'].invalid && (angForm.controls['url'].dirty || angForm.controls['url'].touched)"
                 class="alert alert-danger">
                Address(url) is required.
                <div *ngIf="angForm.controls['url'].errors.required ">

                </div>
            </div>
            <div class="form-group but-group">
                <button (click)="addPost(title.value, url.value); title.value=''; url.value=''"
                        [disabled]="angForm.pristine || angForm.invalid"
                        class="btn btn-primary">Add
                </button>
            </div>
        </form>
    </div>
</div>

1 Ответ

0 голосов
/ 21 сентября 2018

Вы не , изменяющее значение FormControls , только для элементов, и изменение значений не приведет к сбросу FormGroup на pristine.Но так как вы используете Reactive Forms, почему бы просто не сбросить форму?(angForm.reset() - https://angular.io/api/forms/FormGroup#reset).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...