Skip to content

Commit c9ed4be

Browse files
authored
Fix required taxonomy fields invalid state (#17443)
1 parent 4d78365 commit c9ed4be

File tree

9 files changed

+45
-6
lines changed

9 files changed

+45
-6
lines changed

src/OrchardCore.Modules/OrchardCore.Taxonomies/Drivers/TaxonomyFieldDisplayDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public override async Task<IDisplayResult> UpdateAsync(TaxonomyField field, Upda
7777
if (settings.Required && field.TermContentItemIds.Length == 0)
7878
{
7979
context.Updater.ModelState.AddModelError(
80-
nameof(EditTaxonomyFieldViewModel.TermEntries),
80+
$"{Prefix}.{nameof(EditTaxonomyFieldViewModel.TermEntries)}",
8181
S["A value is required for {0}.", context.PartFieldDefinition.DisplayName()]);
8282
}
8383

src/OrchardCore.Modules/OrchardCore.Taxonomies/Drivers/TaxonomyFieldTagsDisplayDriver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public override async Task<IDisplayResult> UpdateAsync(TaxonomyField field, Upda
8282
if (settings.Required && field.TermContentItemIds.Length == 0)
8383
{
8484
context.Updater.ModelState.AddModelError(
85-
nameof(EditTagTaxonomyFieldViewModel.TermContentItemIds),
85+
$"{Prefix}.{nameof(EditTagTaxonomyFieldViewModel.TermContentItemIds)}",
8686
S["A value is required for {0}.", context.PartFieldDefinition.DisplayName()]);
8787
}
8888

src/OrchardCore.Modules/OrchardCore.Taxonomies/Views/TaxonomyField-Tags.Edit.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
<div class="w-100">
4949
<input asp-for="TermContentItemIds" type="hidden" v-model="selectedTagTermsIds" />
5050

51-
<vue-multiselect v-model="selectedTagTerms"
51+
<vue-multiselect asp-validation-class-for="TermContentItemIds" v-model="selectedTagTerms"
5252
placeholder="@T["Type to search"]"
5353
select-label="@T["Select"]"
5454
deselect-label="@T["Remove"]"

src/OrchardCore.Modules/OrchardCore.Taxonomies/Views/TaxonomyField.Edit.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
@T["The taxonomy could not be found. Please check the settings for this field."]
2525
</div>
2626
}
27-
<div>
27+
<div class="term-entries-area" asp-validation-class-for="TermEntries">
2828
@for (var i = 0; i < Model.TermEntries.Count; i++)
2929
{
3030
var entry = Model.TermEntries[i];

src/OrchardCore.Themes/TheAdmin/Assets/scss/components/_validations.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,16 @@ textarea.form-control.input-validation-error {
9999
.input-group > .form-floating:not(:focus-within).input-validation-error {
100100
z-index: 4;
101101
}
102+
103+
.has-validation-error.is-invalid.multiselect {
104+
border: var(--bs-border-width) solid var(--bs-border-color);
105+
border-radius: var(--bs-border-radius);
106+
border-color: var(--bs-form-invalid-border-color);
107+
}
108+
109+
.has-validation-error.is-invalid.term-entries-area {
110+
border: var(--bs-border-width) solid var(--bs-border-color);
111+
border-radius: var(--bs-border-radius);
112+
border-color: var(--bs-form-invalid-border-color);
113+
padding: 0.375rem 0.75rem;
114+
}

src/OrchardCore.Themes/TheAdmin/wwwroot/css/TheAdmin.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8753,6 +8753,19 @@ textarea.form-control.input-validation-error {
87538753
z-index: 4;
87548754
}
87558755

8756+
.has-validation-error.is-invalid.multiselect {
8757+
border: var(--bs-border-width) solid var(--bs-border-color);
8758+
border-radius: var(--bs-border-radius);
8759+
border-color: var(--bs-form-invalid-border-color);
8760+
}
8761+
8762+
.has-validation-error.is-invalid.term-entries-area {
8763+
border: var(--bs-border-width) solid var(--bs-border-color);
8764+
border-radius: var(--bs-border-radius);
8765+
border-color: var(--bs-form-invalid-border-color);
8766+
padding: 0.375rem 0.75rem;
8767+
}
8768+
87568769
.vue-multiselect {
87578770
color: var(--bs-body-color) !important;
87588771
background-color: var(--bs-body-bg) !important;

src/OrchardCore.Themes/TheAdmin/wwwroot/css/TheAdmin.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/OrchardCore.Themes/TheAdmin/wwwroot/css/login.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,16 @@ textarea.form-control.input-validation-error {
112112
.input-group > .form-floating:not(:focus-within).input-validation-error {
113113
z-index: 4;
114114
}
115+
116+
.has-validation-error.is-invalid.multiselect {
117+
border: var(--bs-border-width) solid var(--bs-border-color);
118+
border-radius: var(--bs-border-radius);
119+
border-color: var(--bs-form-invalid-border-color);
120+
}
121+
122+
.has-validation-error.is-invalid.term-entries-area {
123+
border: var(--bs-border-width) solid var(--bs-border-color);
124+
border-radius: var(--bs-border-radius);
125+
border-color: var(--bs-form-invalid-border-color);
126+
padding: 0.375rem 0.75rem;
127+
}

src/OrchardCore.Themes/TheAdmin/wwwroot/css/login.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)