diff --git a/src/Components/Web/src/Forms/InputBase.cs b/src/Components/Web/src/Forms/InputBase.cs index 8b00a57ffad4..b8b2f298991a 100644 --- a/src/Components/Web/src/Forms/InputBase.cs +++ b/src/Components/Web/src/Forms/InputBase.cs @@ -187,6 +187,7 @@ protected string CssClass /// + [MemberNotNull(nameof(EditContext), nameof(CascadedEditContext))] public override Task SetParametersAsync(ParameterView parameters) { parameters.SetParameterProperties(this); @@ -315,7 +316,12 @@ protected virtual void Dispose(bool disposing) void IDisposable.Dispose() { - EditContext.OnValidationStateChanged -= _validationStateChangedHandler; + // When initialization in the SetParametersAsync method fails, the EditContext property can remain equal to null + if (EditContext is not null) + { + EditContext.OnValidationStateChanged -= _validationStateChangedHandler; + } + Dispose(disposing: true); } }