This commit is contained in:
Kukks
2023-07-04 14:16:06 +02:00
parent c65dc2fbfd
commit 241e319e46
16 changed files with 675 additions and 464 deletions

View File

@@ -0,0 +1,38 @@
@using System.Linq.Expressions
@typeparam TValue
@implements IDisposable
@foreach (var message in EditContext.GetValidationMessages(_fieldIdentifier))
{
<div @attributes="InputAttributes">
@message
</div>
}
@code {
[CascadingParameter]
private EditContext EditContext { get; set; }
[Parameter]
public Expression<Func<TValue>> For { get; set; }
[Parameter(CaptureUnmatchedValues = true)]
public Dictionary<string, object>? 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;
}
}