Вызов функции проверки перед отправкой формы с использованием ngNativeValidate

Привет, я пытаюсь вызвать функцию проверки (ngNativeValidate) по нажатию кнопки.

Моя форма выглядит так:

<form #myForm="ngForm" (ngSubmit)="addEndpoint(myForm.value);" ngNativeValidate>
        <section class="form-block">
            <div class="form-group">
                <input type="text" placeholder="name" name="name" [(ngModel)]="myData.name" [hidden]="true">
            </div>
            </section>
        <button type="button" class="btn btn-outline" (click)="testEndpoint(myForm.value);">TEST CONNECTION</button>
        <button type="submit" class="btn btn-primary" [disabled]="disableSubmit">SUBMIT</button>
    </form>

Проверка работает, как ожидается, для SUBMIT кнопка. Я хочу такое же поведение даже для TEST CONNECTION кнопка. но не хочу отправлять форму. Как я могу это сделать? Я думаю, что будет какой-то способ просто вызвать функцию проверки по щелчку. Любая помощь приветствуется. Спасибо! заблаговременно.

РЕДАКТИРОВАТЬ: testEndpoint это бэкэнд-функция вызова

2 ответа

В реактивных формах вы можете использовать свойства "valid" и "touch" формы для отображения обратной связи с пользователем, если вы пытаетесь сделать с помощью кнопки "Test connection" проверку входных данных пользователя.

Таким образом, вы можете пропустить кнопку "Проверить соединение" и напрямую вывести следующий интервал, если форма недействительна и кнопка "Отправить" отключена:

<button type="submit" class="btn btn-primary" [disabled]="disableSubmit">SUBMIT</button>
<span *ngIf="!myForm.valid && myForm.touched" class="help-block">Please enter valid data!</span>

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

Я думаю, вот решение: Проверка ввода триггера

Итак, перейдите по этой ссылке, вы можете попробовать это:form.controls['myControl'].updateValueAndValidity();.

Вы также можете «проверить» полную форму. Нравиться:this.myForm.markAllAsTouched();

Веселиться!

Привет, Флориан

Другие вопросы по тегам