В моей логике я проверяю категорию элемента, а затем вызываю ResetValidation() и ResetAsync() для соответствующей ссылки на форму. Однако в форме по-прежнему отображаются красные рамки или сообщения об ошибках.
Вот соответствующий фрагмент кода:
Код: Выделить всё
private async Task HandleEdit(DatItem item)
{
var detail = await GetDetailDat(item.Id);
if (detail == null) return;
var isDatO = detail.MaNhom == "DAT_O";
if (isDatO)
{
// ... mapping data logic ...
// Trying to clear validation here
InvokeAsync(() => _formMud.ResetValidation());
_formMud.ResetAsync();
}
else
{
// ... mapping data logic ...
// Same reset logic for the other form
InvokeAsync(() => _formMudK.ResetValidation());
_formMudK.ResetAsync();
}
}
- Использование _formMud.ResetValidation() только для очистки ошибок.
- Использование _formMud.ResetAsync() для сброса значений и проверки.
- Обертывание вызова в InvokeAsync(() => ...), чтобы гарантировать, что он выполняется в потоке пользовательского интерфейса.
- Я проверил, что _formMud правильно @bind-Target для MudForm в файле .razor.
Как правильно заставить MudForm очищать все состояния проверки при загрузке новых данных в форму?