@using System.Linq.Expressions @typeparam TValue @implements IDisposable @foreach (var message in EditContext.GetValidationMessages(_fieldIdentifier)) {
@message
} @code { [CascadingParameter] private EditContext EditContext { get; set; } [Parameter] public Expression> For { get; set; } [Parameter(CaptureUnmatchedValues = true)] public Dictionary? InputAttributes { get; set; } private FieldIdentifier _fieldIdentifier; protected override void OnInitialized() { _fieldIdentifier = FieldIdentifier.Create(For); EditContext.OnValidationStateChanged += HandleValidationStateChanged; } private void HandleValidationStateChanged(object o, ValidationStateChangedEventArgs args) => StateHasChanged(); public void Dispose() { EditContext.OnValidationStateChanged -= HandleValidationStateChanged; } }