У меня есть большая форма в моем SPA (person.firstName, lastName, DOB, Gender, Citizenship и т. Д.). Мне нужно отправить на серверную часть для проверки бизнес-логики каждую часть этой формы (которые сгруппированы по их области действия), когда она была заполнена.
Например: отправить всю форму, если firstName и lastName равны touched
и valid
, а другая часть формы - pristine
или valid
. И примените тот же подход к другим группам.
<form [formGroup]="fmdForm" novalidate>
<div class="form-row">
<div class="col">
<label for="prefix">Prefix</label>
<select formControlName="party.prefix" id="prefix" >
<option [value]="availablePrefix" *ngFor="let availablePrefix of availablePrefixes">{{availablePrefix}}
</option>
</select>
</div>
<div class="col">
<label for="firstName">First Name<span style="color: red"> *</span> </label>
<input formControlName="party.firstName" type="text" autocomplete="off" id="firstName"/>
</div>
<div class="col">
<label for="middleName">Middle Name</label>
<input formControlName="party.middleName" type="text" autocomplete="off" id="middleName" maxlength="1" />
</div>
<div class="col">
<label for="lastName">Last Name<span style="color: red"> *</span> </label>
<input formControlName="party.lastName" type="text" autocomplete="off" id="lastName"/>
</div>
<div class="col">
<label for="suffix">Suffix</label>
<select formControlName="party.suffix" id="suffix">
<option [value]="availableSuffix" *ngFor="let availableSuffix of availableSuffixes">{{availableSuffix}}
</option>
</select>
</div>
</div>
</form>
Это небольшой пример моей формы, в которой должны быть представлены группы prefix, firstName
, middleName
, lastName, suffix
.
Спасибо за любую помощь
ОБНОВИТЬ:
Мой вопрос в том, как я могу наблюдать за изменениями всей формы и получить из этого наблюдения 2 вещи:
- formControl с текущим статусом
- текущее значение для обработанного formControl