diff --git a/src/Koogle.Web/Components/Pages/Days/DayEditDialog.razor b/src/Koogle.Web/Components/Pages/Days/DayEditDialog.razor index b28a89c..383fdcf 100644 --- a/src/Koogle.Web/Components/Pages/Days/DayEditDialog.razor +++ b/src/Koogle.Web/Components/Pages/Days/DayEditDialog.razor @@ -46,7 +46,8 @@ } else { - + @foreach (var person in PersonState.Value.Persons.OrderByDescending(p => p.PersonStatus == PersonStatus.Member).ThenBy(p => p.Name)) { } } + + @if (!string.IsNullOrEmpty(_error)) + { + @_error + } Abbrechen - + @(IsEditMode ? "Speichern" : "Erstellen") @@ -82,7 +88,8 @@ public DaySummaryDto? Day { get; set; } private MudForm? _form; - private bool _isValid; + private string _error = string.Empty; + private bool _isValid = true; private DateTime? _postDate = DateTime.Today; private DayStatus _status = DayStatus.New; private IReadOnlyCollection _selectedPersonIds = []; @@ -122,7 +129,10 @@ private void Submit() { - if (!_isValid || _postDate is null) return; + Validate(); + + if (!_isValid || _postDate is null) + return; if (IsEditMode) { @@ -144,4 +154,18 @@ MudDialog?.Close(DialogResult.Ok(dto)); } } + + private void Validate() + { + _error = ""; + if (_selectedPersonIds.Count < 2) + { + _isValid = false; + _error = "Es müssen mindestens zwei Teilnehmer ausgewählt werden."; + return; + } + + _isValid = true; + } + }