mirror of https://github.com/Chocobozzz/PeerTube
Add alert role to form error messages
parent
54f16adca8
commit
55d7e361f5
|
@ -13,7 +13,7 @@
|
|||
type="text" id="fromName" class="form-control"
|
||||
formControlName="fromName" [ngClass]="{ 'input-error': formErrors.fromName }"
|
||||
>
|
||||
<div *ngIf="formErrors.fromName" class="form-error">{{ formErrors.fromName }}</div>
|
||||
<div *ngIf="formErrors.fromName" class="form-error" role="alert">{{ formErrors.fromName }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -22,7 +22,7 @@
|
|||
type="text" id="fromEmail" class="form-control"
|
||||
formControlName="fromEmail" [ngClass]="{ 'input-error': formErrors['fromEmail'] }"
|
||||
>
|
||||
<div *ngIf="formErrors.fromEmail" class="form-error">{{ formErrors.fromEmail }}</div>
|
||||
<div *ngIf="formErrors.fromEmail" class="form-error" role="alert">{{ formErrors.fromEmail }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -31,14 +31,14 @@
|
|||
type="text" id="subject" class="form-control"
|
||||
formControlName="subject" [ngClass]="{ 'input-error': formErrors['subject'] }"
|
||||
>
|
||||
<div *ngIf="formErrors.subject" class="form-error">{{ formErrors.subject }}</div>
|
||||
<div *ngIf="formErrors.subject" class="form-error" role="alert">{{ formErrors.subject }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label i18n for="body">Your message</label>
|
||||
<textarea id="body" formControlName="body" class="form-control" [ngClass]="{ 'input-error': formErrors['body'] }">
|
||||
</textarea>
|
||||
<div *ngIf="formErrors.body" class="form-error">{{ formErrors.body }}</div>
|
||||
<div *ngIf="formErrors.body" class="form-error" role="alert">{{ formErrors.body }}</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="error" class="alert alert-danger">{{ error }}</div>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<span i18n>{getCacheSize('previews'), plural, =1 {cached image} other {cached images}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.cache.previews.size" class="form-error">{{ formErrors.cache.previews.size }}</div>
|
||||
<div *ngIf="formErrors.cache.previews.size" class="form-error" role="alert">{{ formErrors.cache.previews.size }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="captions">
|
||||
|
@ -36,7 +36,7 @@
|
|||
<span i18n>{getCacheSize('captions'), plural, =1 {cached caption} other {cached captions}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.cache.captions.size" class="form-error">{{ formErrors.cache.captions.size }}</div>
|
||||
<div *ngIf="formErrors.cache.captions.size" class="form-error" role="alert">{{ formErrors.cache.captions.size }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="torrents">
|
||||
|
@ -50,7 +50,7 @@
|
|||
<span i18n>{getCacheSize('torrents'), plural, =1 {cached torrent} other {cached torrents}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.cache.torrents.size" class="form-error">{{ formErrors.cache.torrents.size }}</div>
|
||||
<div *ngIf="formErrors.cache.torrents.size" class="form-error" role="alert">{{ formErrors.cache.torrents.size }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="torrents">
|
||||
|
@ -64,7 +64,7 @@
|
|||
<span i18n>{getCacheSize('storyboards'), plural, =1 {cached storyboard} other {cached storyboards}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.cache.storyboards.size" class="form-error">{{ formErrors.cache.storyboards.size }}</div>
|
||||
<div *ngIf="formErrors.cache.storyboards.size" class="form-error" role="alert">{{ formErrors.cache.storyboards.size }}</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
|
@ -98,7 +98,7 @@
|
|||
[ngClass]="{ 'input-error': formErrors['instance.customizations.javascript'] }"
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.instance.customizations.javascript" class="form-error">{{ formErrors.instance.customizations.javascript }}</div>
|
||||
<div *ngIf="formErrors.instance.customizations.javascript" class="form-error" role="alert">{{ formErrors.instance.customizations.javascript }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -127,7 +127,7 @@ color: red;
|
|||
id="customizationCSS" formControlName="css" class="form-control" dir="ltr"
|
||||
[ngClass]="{ 'input-error': formErrors['instance.customizations.css'] }"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.instance.customizations.css" class="form-error">{{ formErrors.instance.customizations.css }}</div>
|
||||
<div *ngIf="formErrors.instance.customizations.css" class="form-error" role="alert">{{ formErrors.instance.customizations.css }}</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
[clearable]="false"
|
||||
></my-select-custom-value>
|
||||
|
||||
<div *ngIf="formErrors.instance.defaultClientRoute" class="form-error">{{ formErrors.instance.defaultClientRoute }}</div>
|
||||
<div *ngIf="formErrors.instance.defaultClientRoute" class="form-error" role="alert">{{ formErrors.instance.defaultClientRoute }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="trending">
|
||||
|
@ -51,7 +51,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.trending.videos.algorithms.default" class="form-error">{{ formErrors.trending.videos.algorithms.default }}</div>
|
||||
<div *ngIf="formErrors.trending.videos.algorithms.default" class="form-error" role="alert">{{ formErrors.trending.videos.algorithms.default }}</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
</div>
|
||||
|
@ -126,7 +126,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.broadcastMessage.level" class="form-error">{{ formErrors.broadcastMessage.level }}</div>
|
||||
<div *ngIf="formErrors.broadcastMessage.level" class="form-error" role="alert">{{ formErrors.broadcastMessage.level }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -137,7 +137,7 @@
|
|||
[formError]="formErrors['broadcastMessage.message']" markdownType="to-unsafe-html"
|
||||
></my-markdown-textarea>
|
||||
|
||||
<div *ngIf="formErrors.broadcastMessage.message" class="form-error">{{ formErrors.broadcastMessage.message }}</div>
|
||||
<div *ngIf="formErrors.broadcastMessage.message" class="form-error" role="alert">{{ formErrors.broadcastMessage.message }}</div>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
|
@ -193,7 +193,7 @@
|
|||
<span i18n>{form.value['signup']['limit'], plural, =1 {user} other {users}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.signup.limit" class="form-error">{{ formErrors.signup.limit }}</div>
|
||||
<div *ngIf="formErrors.signup.limit" class="form-error" role="alert">{{ formErrors.signup.limit }}</div>
|
||||
|
||||
<small i18n *ngIf="hasUnlimitedSignup()" class="muted small">Signup won't be limited to a fixed number of users.</small>
|
||||
</div>
|
||||
|
@ -209,7 +209,7 @@
|
|||
<span i18n>{form.value['signup']['minimumAge'], plural, =1 {year old} other {years old}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.signup.minimumAge" class="form-error">{{ formErrors.signup.minimumAge }}</div>
|
||||
<div *ngIf="formErrors.signup.minimumAge" class="form-error" role="alert">{{ formErrors.signup.minimumAge }}</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</my-peertube-checkbox>
|
||||
|
@ -230,7 +230,7 @@
|
|||
|
||||
<my-user-real-quota-info [videoQuota]="getUserVideoQuota()"></my-user-real-quota-info>
|
||||
|
||||
<div *ngIf="formErrors.user.videoQuota" class="form-error">{{ formErrors.user.videoQuota }}</div>
|
||||
<div *ngIf="formErrors.user.videoQuota" class="form-error" role="alert">{{ formErrors.user.videoQuota }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -244,7 +244,7 @@
|
|||
[clearable]="false"
|
||||
></my-select-custom-value>
|
||||
|
||||
<div *ngIf="formErrors.user.videoQuotaDaily" class="form-error">{{ formErrors.user.videoQuotaDaily }}</div>
|
||||
<div *ngIf="formErrors.user.videoQuotaDaily" class="form-error" role="alert">{{ formErrors.user.videoQuotaDaily }}</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<ng-container formGroupName="history">
|
||||
|
@ -282,7 +282,7 @@
|
|||
<span i18n>jobs in parallel</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.import.concurrency" class="form-error">{{ formErrors.import.concurrency }}</div>
|
||||
<div *ngIf="formErrors.import.concurrency" class="form-error" role="alert">{{ formErrors.import.concurrency }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="http">
|
||||
|
@ -377,7 +377,7 @@
|
|||
<span i18n>{form.value['videoChannels']['maxPerUser'], plural, =1 {channel} other {channels}}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.videoChannels.maxPerUser" class="form-error">{{ formErrors.videoChannels.maxPerUser }}</div>
|
||||
<div *ngIf="formErrors.videoChannels.maxPerUser" class="form-error" role="alert">{{ formErrors.videoChannels.maxPerUser }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -439,7 +439,7 @@
|
|||
formControlName="url" [ngClass]="{ 'input-error': formErrors['search.searchIndex.url'] }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors.search.searchIndex.url" class="form-error">{{ formErrors.search.searchIndex.url }}</div>
|
||||
<div *ngIf="formErrors.search.searchIndex.url" class="form-error" role="alert">{{ formErrors.search.searchIndex.url }}</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
|
@ -537,7 +537,7 @@
|
|||
type="text" id="followingsInstanceAutoFollowIndexUrl" class="form-control"
|
||||
formControlName="indexUrl" [ngClass]="{ 'input-error': formErrors['followings.instance.autoFollowIndex.indexUrl'] }"
|
||||
>
|
||||
<div *ngIf="formErrors.followings.instance.autoFollowIndex.indexUrl" class="form-error">{{ formErrors.followings.instance.autoFollowIndex.indexUrl }}</div>
|
||||
<div *ngIf="formErrors.followings.instance.autoFollowIndex.indexUrl" class="form-error" role="alert">{{ formErrors.followings.instance.autoFollowIndex.indexUrl }}</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</my-peertube-checkbox>
|
||||
|
@ -565,7 +565,7 @@
|
|||
formControlName="email" [ngClass]="{ 'input-error': formErrors['admin.email'] }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors.admin.email" class="form-error">{{ formErrors.admin.email }}</div>
|
||||
<div *ngIf="formErrors.admin.email" class="form-error" role="alert">{{ formErrors.admin.email }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" formGroupName="contactForm">
|
||||
|
@ -600,7 +600,7 @@
|
|||
formControlName="username" [ngClass]="{ 'input-error': formErrors['services.twitter.username'] }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors.services.twitter.username" class="form-error">{{ formErrors.services.twitter.username }}</div>
|
||||
<div *ngIf="formErrors.services.twitter.username" class="form-error" role="alert">{{ formErrors.services.twitter.username }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
<div class="col-md-7 col-xl-5"></div>
|
||||
<div class="col-md-5 col-xl-5">
|
||||
|
||||
<div class="form-error submit-error" i18n *ngIf="!form.valid && isUpdateAllowed()">
|
||||
<div role="alert" class="form-error submit-error" i18n *ngIf="!form.valid && isUpdateAllowed()">
|
||||
There are errors in the form:
|
||||
|
||||
<ul>
|
||||
|
@ -78,7 +78,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<span class="form-error submit-error" i18n *ngIf="!hasLiveAllowReplayConsistentOptions()">
|
||||
<span role="alert" class="form-error submit-error" i18n *ngIf="!hasLiveAllowReplayConsistentOptions()">
|
||||
You cannot allow live replay if you don't enable transcoding.
|
||||
</span>
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
dir="ltr"
|
||||
></my-markdown-textarea>
|
||||
|
||||
<div *ngIf="formErrors.instanceCustomHomepage.content" class="form-error">{{ formErrors.instanceCustomHomepage.content }}</div>
|
||||
<div *ngIf="formErrors.instanceCustomHomepage.content" class="form-error" role="alert">{{ formErrors.instanceCustomHomepage.content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
formControlName="name" [ngClass]="{ 'input-error': formErrors.instance.name }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors.instance.name" class="form-error">{{ formErrors.instance.name }}</div>
|
||||
<div *ngIf="formErrors.instance.name" class="form-error" role="alert">{{ formErrors.instance.name }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -27,7 +27,7 @@
|
|||
[ngClass]="{ 'input-error': formErrors['instance.shortDescription'] }"
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.instance.shortDescription" class="form-error">{{ formErrors.instance.shortDescription }}</div>
|
||||
<div *ngIf="formErrors.instance.shortDescription" class="form-error" role="alert">{{ formErrors.instance.shortDescription }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -118,7 +118,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.instance.defaultNSFWPolicy" class="form-error">{{ formErrors.instance.defaultNSFWPolicy }}</div>
|
||||
<div *ngIf="formErrors.instance.defaultNSFWPolicy" class="form-error" role="alert">{{ formErrors.instance.defaultNSFWPolicy }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<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 *ngIf="formErrors.live.maxInstanceLives" class="form-error" role="alert">{{ formErrors.live.maxInstanceLives }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" [ngClass]="getDisabledLiveClass()">
|
||||
|
@ -66,7 +66,7 @@
|
|||
<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 *ngIf="formErrors.live.maxUserLives" class="form-error" role="alert">{{ formErrors.live.maxUserLives }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" [ngClass]="getDisabledLiveClass()">
|
||||
|
@ -77,7 +77,7 @@
|
|||
bindLabel="label" bindValue="value" [clearable]="false" [searchable]="true"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.live.maxDuration" class="form-error">{{ formErrors.live.maxDuration }}</div>
|
||||
<div *ngIf="formErrors.live.maxDuration" class="form-error" role="alert">{{ formErrors.live.maxDuration }}</div>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
|
@ -178,7 +178,7 @@
|
|||
formControlName="threads"
|
||||
[clearable]="false"
|
||||
></my-select-custom-value>
|
||||
<div *ngIf="formErrors.live.transcoding.threads" class="form-error">{{ formErrors.live.transcoding.threads }}</div>
|
||||
<div *ngIf="formErrors.live.transcoding.threads" class="form-error" role="alert">{{ formErrors.live.transcoding.threads }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mt-4" [ngClass]="getDisabledLiveLocalTranscodingClass()">
|
||||
|
@ -193,7 +193,7 @@
|
|||
>
|
||||
</my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.live.transcoding.profile" class="form-error">{{ formErrors.live.transcoding.profile }}</div>
|
||||
<div *ngIf="formErrors.live.transcoding.profile" class="form-error" role="alert">{{ formErrors.live.transcoding.profile }}</div>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
|
|
|
@ -175,7 +175,7 @@
|
|||
[clearable]="false"
|
||||
></my-select-custom-value>
|
||||
|
||||
<div *ngIf="formErrors.transcoding.threads" class="form-error">{{ formErrors.transcoding.threads }}</div>
|
||||
<div *ngIf="formErrors.transcoding.threads" class="form-error" role="alert">{{ formErrors.transcoding.threads }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" [ngClass]="getLocalTranscodingDisabledClass()">
|
||||
|
@ -187,7 +187,7 @@
|
|||
<span i18n>jobs in parallel</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.transcoding.concurrency" class="form-error">{{ formErrors.transcoding.concurrency }}</div>
|
||||
<div *ngIf="formErrors.transcoding.concurrency" class="form-error" role="alert">{{ formErrors.transcoding.concurrency }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" [ngClass]="getLocalTranscodingDisabledClass()">
|
||||
|
@ -201,7 +201,7 @@
|
|||
[clearable]="false"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.transcoding.profile" class="form-error">{{ formErrors.transcoding.profile }}</div>
|
||||
<div *ngIf="formErrors.transcoding.profile" class="form-error" role="alert">{{ formErrors.transcoding.profile }}</div>
|
||||
</div>
|
||||
|
||||
</ng-container>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
class="form-control" [ngClass]="{ 'input-error': formErrors['hostsOrHandles'] }" ngbAutofocus
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.hostsOrHandles" class="form-error">
|
||||
<div *ngIf="formErrors.hostsOrHandles" class="form-error" role="alert">
|
||||
{{ formErrors.hostsOrHandles }}
|
||||
|
||||
<div *ngIf="form.controls['hostsOrHandles'].errors.validHostsOrHandles">
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
[ngClass]="{ 'input-error': formErrors['moderationResponse'] }" class="form-control"
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.moderationResponse" class="form-error">
|
||||
<div *ngIf="formErrors.moderationResponse" class="form-error" role="alert">
|
||||
{{ formErrors.moderationResponse }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
type="text" id="username" i18n-placeholder placeholder="john" class="form-control"
|
||||
formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }"
|
||||
>
|
||||
<div *ngIf="formErrors.username" class="form-error">
|
||||
<div *ngIf="formErrors.username" class="form-error" role="alert">
|
||||
{{ formErrors.username }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -96,7 +96,7 @@
|
|||
type="text" id="channelName" i18n-placeholder placeholder="john_channel" class="form-control"
|
||||
formControlName="channelName" [ngClass]="{ 'input-error': formErrors['channelName'] }"
|
||||
>
|
||||
<div *ngIf="formErrors.channelName" class="form-error">
|
||||
<div *ngIf="formErrors.channelName" class="form-error" role="alert">
|
||||
{{ formErrors.channelName }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -108,7 +108,7 @@
|
|||
formControlName="email" [ngClass]="{ 'input-error': formErrors['email'] }"
|
||||
autocomplete="off" [readonly]="user && user.pluginAuth !== null"
|
||||
>
|
||||
<div *ngIf="formErrors.email" class="form-error">
|
||||
<div *ngIf="formErrors.email" class="form-error" role="alert">
|
||||
{{ formErrors.email }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -137,7 +137,7 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.role" class="form-error">
|
||||
<div *ngIf="formErrors.role" class="form-error" role="alert">
|
||||
{{ formErrors.role }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -155,7 +155,7 @@
|
|||
|
||||
<my-user-real-quota-info [videoQuota]="getUserVideoQuota()"></my-user-real-quota-info>
|
||||
|
||||
<div *ngIf="formErrors.videoQuota" class="form-error">
|
||||
<div *ngIf="formErrors.videoQuota" class="form-error" role="alert">
|
||||
{{ formErrors.videoQuota }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -171,7 +171,7 @@
|
|||
[clearable]="false"
|
||||
></my-select-custom-value>
|
||||
|
||||
<div *ngIf="formErrors.videoQuotaDaily" class="form-error">
|
||||
<div *ngIf="formErrors.videoQuotaDaily" class="form-error" role="alert">
|
||||
{{ formErrors.videoQuotaDaily }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</button>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.password" class="form-error">
|
||||
<div *ngIf="formErrors.password" class="form-error" role="alert">
|
||||
{{ formErrors.password }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.username" class="form-error">{{ formErrors.username }}</div>
|
||||
<div *ngIf="formErrors.username" class="form-error" role="alert">{{ formErrors.username }}</div>
|
||||
|
||||
<div *ngIf="hasUsernameUppercase()" i18n class="form-warning">
|
||||
⚠️ Most email addresses do not include capital letters.
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
>
|
||||
<div class="input-group-text">@{{ instanceHost }}</div>
|
||||
</div>
|
||||
<div *ngIf="formErrors['name']" class="form-error">
|
||||
<div *ngIf="formErrors['name']" class="form-error" role="alert">
|
||||
{{ formErrors['name'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -42,7 +42,7 @@
|
|||
type="text" id="display-name" class="form-control d-block"
|
||||
formControlName="display-name" [ngClass]="{ 'input-error': formErrors['display-name'] }"
|
||||
>
|
||||
<div *ngIf="formErrors['display-name']" class="form-error">
|
||||
<div *ngIf="formErrors['display-name']" class="form-error" role="alert">
|
||||
{{ formErrors['display-name'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -53,7 +53,7 @@
|
|||
id="description" formControlName="description" class="form-control d-block"
|
||||
[ngClass]="{ 'input-error': formErrors['description'] }"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.description" class="form-error">
|
||||
<div *ngIf="formErrors.description" class="form-error" role="alert">
|
||||
{{ formErrors.description }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
type="email" id="new-email" i18n-placeholder placeholder="New email" class="form-control"
|
||||
formControlName="new-email" [ngClass]="{ 'input-error': formErrors['new-email'] }"
|
||||
>
|
||||
<div *ngIf="formErrors['new-email']" class="form-error">
|
||||
<div *ngIf="formErrors['new-email']" class="form-error" role="alert">
|
||||
{{ formErrors['new-email'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
type="text" id="display-name" class="form-control"
|
||||
formControlName="display-name" [ngClass]="{ 'input-error': formErrors['display-name'] }"
|
||||
>
|
||||
<div *ngIf="formErrors['display-name']" class="form-error">
|
||||
<div *ngIf="formErrors['display-name']" class="form-error" role="alert">
|
||||
{{ formErrors['display-name'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -30,7 +30,7 @@
|
|||
id="description" formControlName="description" class="form-control"
|
||||
[ngClass]="{ 'input-error': formErrors['description'] }"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.description" class="form-error">
|
||||
<div *ngIf="formErrors.description" class="form-error" role="alert">
|
||||
{{ formErrors.description }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<label i18n for="channel">Select a channel to receive the video</label>
|
||||
<my-select-channel labelForId="channel" formControlName="channel" [items]="videoChannels"></my-select-channel>
|
||||
|
||||
<div *ngIf="formErrors.channel" class="form-error">{{ formErrors.channel }}</div>
|
||||
<div *ngIf="formErrors.channel" class="form-error" role="alert">{{ formErrors.channel }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors['externalChannelUrl']" class="form-error">
|
||||
<div *ngIf="formErrors['externalChannelUrl']" class="form-error" role="alert">
|
||||
{{ formErrors['externalChannelUrl'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -33,7 +33,7 @@
|
|||
<label i18n for="videoChannel">Video Channel</label>
|
||||
<my-select-channel required [items]="userVideoChannels" formControlName="videoChannel"></my-select-channel>
|
||||
|
||||
<div *ngIf="formErrors['videoChannel']" class="form-error">
|
||||
<div *ngIf="formErrors['videoChannel']" class="form-error" role="alert">
|
||||
{{ formErrors['videoChannel'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
type="text" id="displayName" class="form-control"
|
||||
formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
|
||||
>
|
||||
<div *ngIf="formErrors['displayName']" class="form-error">
|
||||
<div *ngIf="formErrors['displayName']" class="form-error" role="alert">
|
||||
{{ formErrors['displayName'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -55,7 +55,7 @@
|
|||
></my-select-options>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.privacy" class="form-error">
|
||||
<div *ngIf="formErrors.privacy" class="form-error" role="alert">
|
||||
{{ formErrors.privacy }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -67,7 +67,7 @@
|
|||
labelForId="videoChannelIdl" [items]="userVideoChannels" formControlName="videoChannelId"
|
||||
></my-select-channel>
|
||||
|
||||
<div *ngIf="formErrors['videoChannelId']" class="form-error">
|
||||
<div *ngIf="formErrors['videoChannelId']" class="form-error" role="alert">
|
||||
{{ formErrors['videoChannelId'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<label i18n for="next-ownership-username">Select the next owner</label>
|
||||
<p-autoComplete formControlName="username" [suggestions]="usernamePropositions"
|
||||
(completeMethod)="search($event)" id="next-ownership-username"></p-autoComplete>
|
||||
<div *ngIf="formErrors.username" class="form-error">
|
||||
<div *ngIf="formErrors.username" class="form-error" role="alert">
|
||||
{{ formErrors.username }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.displayName" class="form-error">{{ formErrors.displayName }}</div>
|
||||
<div *ngIf="formErrors.displayName" class="form-error" role="alert">{{ formErrors.displayName }}</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-xl-6 form-group">
|
||||
|
@ -45,9 +45,9 @@
|
|||
<div class="input-group-text">@{{ instanceHost }}</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.name" class="form-error">{{ formErrors.name }}</div>
|
||||
<div *ngIf="formErrors.name" class="form-error" role="alert">{{ formErrors.name }}</div>
|
||||
|
||||
<div *ngIf="isSameThanUsername()" class="form-error" i18n>
|
||||
<div *ngIf="isSameThanUsername()" class="form-error" role="alert" i18n>
|
||||
Channel identifier cannot be the same as your account name. You can click on the first step to update your account name.
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
[ngClass]="{ 'input-error': formErrors['registrationReason'] }"
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.registrationReason" class="form-error">{{ formErrors.registrationReason }}</div>
|
||||
<div *ngIf="formErrors.registrationReason" class="form-error" role="alert">{{ formErrors.registrationReason }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
@ -23,6 +23,6 @@
|
|||
</ng-template>
|
||||
</my-peertube-checkbox>
|
||||
|
||||
<div *ngIf="formErrors.terms" class="form-error">{{ formErrors.terms }}</div>
|
||||
<div *ngIf="formErrors.terms" class="form-error" role="alert">{{ formErrors.terms }}</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.displayName" class="form-error">{{ formErrors.displayName }}</div>
|
||||
<div *ngIf="formErrors.displayName" class="form-error" role="alert">{{ formErrors.displayName }}</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-xl-6 form-group">
|
||||
|
@ -37,7 +37,7 @@
|
|||
<span class="input-group-text">@{{ instanceHost }}</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.username" class="form-error">{{ formErrors.username }}</div>
|
||||
<div *ngIf="formErrors.username" class="form-error" role="alert">{{ formErrors.username }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
|||
formControlName="email" class="form-control" [ngClass]="{ 'input-error': formErrors['email'] }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors.email" class="form-error">{{ formErrors.email }}</div>
|
||||
<div *ngIf="formErrors.email" class="form-error" role="alert">{{ formErrors.email }}</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-xl-6 form-group">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
formControlName="verify-email-email" class="form-control" [ngClass]="{ 'input-error': formErrors['verify-email-email'] }"
|
||||
>
|
||||
|
||||
<div *ngIf="formErrors['verify-email-email']" class="form-error">{{ formErrors['verify-email-email'] }}</div>
|
||||
<div *ngIf="formErrors['verify-email-email']" class="form-error" role="alert">{{ formErrors['verify-email-email'] }}</div>
|
||||
</div>
|
||||
|
||||
<input class="peertube-button orange-button" type="submit" i18n-value value="Send verification email" [disabled]="!form.valid">
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
></ng-select>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formErrors.language" class="form-error">
|
||||
<div *ngIf="formErrors.language" class="form-error" role="alert">
|
||||
{{ formErrors.language }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
>
|
||||
</textarea>
|
||||
|
||||
<div *ngIf="formErrors.captionFileContent" class="form-error">
|
||||
<div *ngIf="formErrors.captionFileContent" class="form-error" role="alert">
|
||||
{{ formErrors.captionFileContent }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<div class="form-group">
|
||||
<label i18n for="name">Title</label>
|
||||
<input type="text" id="name" class="form-control" formControlName="name" />
|
||||
<div *ngIf="formErrors.name" class="form-error">
|
||||
<div *ngIf="formErrors.name" class="form-error" role="alert">
|
||||
{{ formErrors.name }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,7 +35,7 @@
|
|||
</my-help>
|
||||
|
||||
<my-select-tags labelForId="label-tags" formControlName="tags"></my-select-tags>
|
||||
<div *ngIf="formErrors.tags" class="form-error">
|
||||
<div *ngIf="formErrors.tags" class="form-error" role="alert">
|
||||
{{ formErrors.tags }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -72,7 +72,7 @@
|
|||
labelForId="category" [items]="videoCategories" formControlName="category" [clearable]="true"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.category" class="form-error">
|
||||
<div *ngIf="formErrors.category" class="form-error" role="alert">
|
||||
{{ formErrors.category }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -92,7 +92,7 @@
|
|||
labelForId="licence" [items]="videoLicences" formControlName="licence" [clearable]="true"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.licence" class="form-error">
|
||||
<div *ngIf="formErrors.licence" class="form-error" role="alert">
|
||||
{{ formErrors.licence }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -104,7 +104,7 @@
|
|||
[clearable]="true" [searchable]="true" [groupBy]="'group'"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.language" class="form-error">
|
||||
<div *ngIf="formErrors.language" class="form-error" role="alert">
|
||||
{{ formErrors.language }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -115,7 +115,7 @@
|
|||
labelForId="privacy" [items]="videoPrivacies" formControlName="privacy" [clearable]="false"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.privacy" class="form-error">
|
||||
<div *ngIf="formErrors.privacy" class="form-error" role="alert">
|
||||
{{ formErrors.privacy }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -133,7 +133,7 @@
|
|||
>
|
||||
</p-calendar>
|
||||
|
||||
<div *ngIf="formErrors.schedulePublicationAt" class="form-error">
|
||||
<div *ngIf="formErrors.schedulePublicationAt" class="form-error" role="alert">
|
||||
{{ formErrors.schedulePublicationAt }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -261,7 +261,7 @@
|
|||
type="text" [id]="'title[' + i + ']'" [name]="'title[' + i + ']'" formControlName="title"
|
||||
/>
|
||||
|
||||
<div [ngClass]="{ 'opacity-0': !formErrors.chapters[i].title }" class="form-error">
|
||||
<div [ngClass]="{ 'opacity-0': !formErrors.chapters[i].title }" class="form-error" role="alert">
|
||||
<span class="opacity-0">t</span> <!-- Ensure we have reserve a correct height -->
|
||||
{{ formErrors.chapters[i].title }}
|
||||
</div>
|
||||
|
@ -271,7 +271,7 @@
|
|||
</div>
|
||||
</ng-container>
|
||||
|
||||
<div *ngIf="getChapterArrayErrors()" class="form-error">
|
||||
<div *ngIf="getChapterArrayErrors()" class="form-error" role="alert">
|
||||
{{ getChapterArrayErrors() }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -353,7 +353,7 @@
|
|||
labelForId="latencyMode" [items]="latencyModes" formControlName="latencyMode" [clearable]="true"
|
||||
></my-select-options>
|
||||
|
||||
<div *ngIf="formErrors.latencyMode" class="form-error">
|
||||
<div *ngIf="formErrors.latencyMode" class="form-error" role="alert">
|
||||
{{ formErrors.latencyMode }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -433,7 +433,7 @@
|
|||
>
|
||||
</p-calendar>
|
||||
|
||||
<div *ngIf="formErrors.originallyPublishedAt" class="form-error">
|
||||
<div *ngIf="formErrors.originallyPublishedAt" class="form-error" role="alert">
|
||||
{{ formErrors.originallyPublishedAt }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</ul>
|
||||
</ng-template>
|
||||
</my-help>
|
||||
<div *ngIf="formErrors.text" class="form-error">
|
||||
<div *ngIf="formErrors.text" class="form-error" role="alert">
|
||||
{{ formErrors.text }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
[ngClass]="{ 'input-error': formErrors['message'] }" class="form-control"
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.message" class="form-error">
|
||||
<div *ngIf="formErrors.message" class="form-error" role="alert">
|
||||
{{ formErrors.message }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
formControlName="moderationComment" ngbAutofocus i18-placeholder placeholder="Comment this report…"
|
||||
[ngClass]="{ 'input-error': formErrors['moderationComment'] }" class="form-control">
|
||||
</textarea>
|
||||
<div *ngIf="formErrors.moderationComment" class="form-error">
|
||||
<div *ngIf="formErrors.moderationComment" class="form-error" role="alert">
|
||||
{{ formErrors.moderationComment }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<div *ngIf="setting.type === 'html'" [innerHTML]="setting.html"></div>
|
||||
|
||||
<div *ngIf="hasDedicatedFormError() && formErrors[setting.name]" class="form-error">
|
||||
<div *ngIf="hasDedicatedFormError() && formErrors[setting.name]" class="form-error" role="alert">
|
||||
{{ formErrors[setting.name] }}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -19,4 +19,4 @@
|
|||
</my-copy-button>
|
||||
</div>
|
||||
|
||||
<div *ngIf="formError" class="form-error">{{ formError }}</div>
|
||||
<div *ngIf="formError" class="form-error" role="alert">{{ formError }}</div>
|
||||
|
|
|
@ -34,5 +34,5 @@
|
|||
|
||||
<div [ngbNavOutlet]="nav"></div>
|
||||
|
||||
<div *ngIf="!isMaximized && formError" class="form-error">{{ formError }}</div>
|
||||
<div *ngIf="!isMaximized && formError" class="form-error" role="alert">{{ formError }}</div>
|
||||
</div>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
class="form-control" [ngClass]="{ 'input-error': formErrors['hosts'] }" ngbAutofocus
|
||||
></textarea>
|
||||
|
||||
<div *ngIf="formErrors.hosts" class="form-error">
|
||||
<div *ngIf="formErrors.hosts" class="form-error" role="alert">
|
||||
{{ formErrors.hosts }}
|
||||
|
||||
<div *ngIf="form.controls['hosts'].errors.validHosts">
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
i18n-placeholder placeholder="Please describe the issue..." formControlName="reason" ngbAutofocus
|
||||
[ngClass]="{ 'input-error': formErrors['reason'] }" class="form-control"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.reason" class="form-error">
|
||||
<div *ngIf="formErrors.reason" class="form-error" role="alert">
|
||||
{{ formErrors.reason }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
i18n-placeholder placeholder="Please describe the issue..." formControlName="reason" ngbAutofocus
|
||||
[ngClass]="{ 'input-error': formErrors['reason'] }" class="form-control"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.reason" class="form-error">
|
||||
<div *ngIf="formErrors.reason" class="form-error" role="alert">
|
||||
{{ formErrors.reason }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
i18n-placeholder placeholder="Reason..." formControlName="reason"
|
||||
class="form-control" [ngClass]="{ 'input-error': formErrors['reason'] }"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.reason" class="form-error">
|
||||
<div *ngIf="formErrors.reason" class="form-error" role="alert">
|
||||
{{ formErrors.reason }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
i18n-placeholder placeholder="Please describe the reason..." formControlName="reason"
|
||||
[ngClass]="{ 'input-error': formErrors['reason'] }" class="form-control"
|
||||
></textarea>
|
||||
<div *ngIf="formErrors.reason" class="form-error">
|
||||
<div *ngIf="formErrors.reason" class="form-error" role="alert">
|
||||
{{ formErrors.reason }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
type="text" id="displayName"
|
||||
formControlName="displayName" [ngClass]="{ 'input-error': formErrors['displayName'] }"
|
||||
>
|
||||
<div *ngIf="formErrors['displayName']" class="form-error">
|
||||
<div *ngIf="formErrors['displayName']" class="form-error" role="alert">
|
||||
{{ formErrors['displayName'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue