Improve title field validation feedback in catalog edit form

Title field now validates on input, not just on blur. Added OnTitleChanged handler to clear validation messages for CatTitle as the user types. OnFieldChanged now only clears messages for UpdateProcedure. This enhances real-time validation feedback for users.
This commit is contained in:
OlgunR
2026-02-05 11:21:49 +01:00
parent 945c8aaf4a
commit 05ea47f42c
2 changed files with 34 additions and 6 deletions

View File

@@ -95,7 +95,10 @@ else
@{ SetEditContext(editFormContext.EditContext); var editModel = (CatalogEditModel)editFormContext.EditModel; }
<DxFormLayout ColCount="2">
<DxFormLayoutItem Caption="Titel">
<DxTextBox @bind-Text="editModel.CatTitle" Width="100%" />
<DxTextBox @bind-Text="editModel.CatTitle"
@bind-Text:after="OnTitleChanged"
BindValueMode="BindValueMode.OnInput"
Width="100%" />
</DxFormLayoutItem>
<DxFormLayoutItem Caption="Kennung">
<DxTextBox @bind-Text="editModel.CatString" Width="100%" />
@@ -161,14 +164,25 @@ else
return;
}
if (e.FieldIdentifier.FieldName == nameof(CatalogEditModel.UpdateProcedure) ||
e.FieldIdentifier.FieldName == nameof(CatalogEditModel.CatTitle))
if (e.FieldIdentifier.FieldName == nameof(CatalogEditModel.UpdateProcedure))
{
validationMessageStore.Clear();
editContext.NotifyValidationStateChanged();
}
}
private void OnTitleChanged()
{
if (validationMessageStore == null || editContext == null)
{
return;
}
var field = new FieldIdentifier(editContext.Model, nameof(CatalogEditModel.CatTitle));
validationMessageStore.Clear(field);
editContext.NotifyValidationStateChanged();
}
private void OnCustomizeEditModel(GridCustomizeEditModelEventArgs e)
{
if (e.IsNew)

View File

@@ -54,7 +54,10 @@ else
@{ SetEditContext(editFormContext.EditContext); var editModel = (CatalogEditModel)editFormContext.EditModel; }
<DxFormLayout ColCount="2">
<DxFormLayoutItem Caption="Titel">
<DxTextBox @bind-Text="editModel.CatTitle" Width="100%" />
<DxTextBox @bind-Text="editModel.CatTitle"
@bind-Text:after="OnTitleChanged"
BindValueMode="BindValueMode.OnInput"
Width="100%" />
</DxFormLayoutItem>
<DxFormLayoutItem Caption="Kennung">
<DxTextBox @bind-Text="editModel.CatString" Width="100%" />
@@ -120,14 +123,25 @@ else
return;
}
if (e.FieldIdentifier.FieldName == nameof(CatalogEditModel.UpdateProcedure) ||
e.FieldIdentifier.FieldName == nameof(CatalogEditModel.CatTitle))
if (e.FieldIdentifier.FieldName == nameof(CatalogEditModel.UpdateProcedure))
{
validationMessageStore.Clear();
editContext.NotifyValidationStateChanged();
}
}
private void OnTitleChanged()
{
if (validationMessageStore == null || editContext == null)
{
return;
}
var field = new FieldIdentifier(editContext.Model, nameof(CatalogEditModel.CatTitle));
validationMessageStore.Clear(field);
editContext.NotifyValidationStateChanged();
}
private void OnCustomizeEditModel(GridCustomizeEditModelEventArgs e)
{
if (e.IsNew)