<div class="form-row mt-4"> <!-- submit placement block -->
<div class="col-md-7 col-xl-5"></div>
<div class="col-md-5 col-xl-5">
- <span class="form-error submit-error" i18n *ngIf="!form.valid">
- It seems like the configuration is invalid. Please search for potential errors in the different tabs.
- {{ formErrors }}
- </span>
+ <div class="form-error submit-error" i18n *ngIf="!form.valid">
+ There are errors in the form:
+
+ <ul>
+ <li *ngFor="let error of grabAllErrors()">
+ {{ error }}
+ </li>
+ </ul>
+ </div>
<span class="form-error submit-error" i18n *ngIf="!hasLiveAllowReplayConsistentOptions()">
You cannot allow live replay if you don't enable transcoding.
this.router.navigate([], { fragment: this.activeNav })
}
+ grabAllErrors (errorObjectArg?: any) {
+ const errorObject = errorObjectArg || this.formErrors
+
+ let acc: string[] = []
+
+ for (const key of Object.keys(errorObject)) {
+ const value = errorObject[key]
+ if (!value) continue
+
+ if (typeof value === 'string') {
+ acc.push(value)
+ } else {
+ acc = acc.concat(this.grabAllErrors(value))
+ }
+ }
+
+ return acc
+ }
+
private updateForm () {
this.form.patchValue(this.customConfig)
}
<input type="number" name="liveMaxInstanceLives" formControlName="maxInstanceLives" />
<span i18n>{form.value['live']['maxInstanceLives'], plural, =1 {live} other {lives}}</span>
</div>
+
+ <div *ngIf="formErrors.live.maxInstanceLives" class="form-error">{{ formErrors.live.maxInstanceLives }}</div>
</div>
<div class="form-group" [ngClass]="getDisabledLiveClass()">
<input type="number" name="liveMaxUserLives" formControlName="maxUserLives" />
<span i18n>{form.value['live']['maxUserLives'], plural, =1 {live} other {lives}}</span>
</div>
+
+ <div *ngIf="formErrors.live.maxUserLives" class="form-error">{{ formErrors.live.maxUserLives }}</div>
</div>
<div class="form-group" [ngClass]="getDisabledLiveClass()">
labelForId="liveMaxDuration" [items]="liveMaxDurationOptions" formControlName="maxDuration"
bindLabel="label" bindValue="value" [clearable]="false" [searchable]="true"
></my-select-options>
+
+ <div *ngIf="formErrors.live.maxDuration" class="form-error">{{ formErrors.live.maxDuration }}</div>
</div>
</ng-container>