У меня есть собственный валидатор
RuleFor(d => d.Id).NotEmpty()
.Matches("^[0-9]*$")
.WithMessage("Id must consist of number!")
.MustAsync(async (id, token) =>
{
// make http request
if (someCase)
{
return false;
}
return true;
}).WithMessage("Some error");
И я использую его в EditForm как
<FluentValidationValidator ValidatorType=typeof(MyValidator) />
, отключая кнопку
EditContext = new EditContext(MyModel);
EditContext.OnFieldChanged += async (sender, e) =>
{
IsInvalidForm = !(await Validator.ValidateAsync(MyModel)).IsValid;
StateHasChanged();
};
Пока все хорошо, все работает , но при обновлении (используя тот же компонент Razor) поле Id отключено , и если я изменяю какую-либо другую часть значения валидатора, оно также проверяет Id и возвращает IsValid false ( потому что он уже существует). Как я могу это исправить?