Параметр передачи в валидатор - пробел.C#

Место общения программистов C#
Ответить
Anonymous
 Параметр передачи в валидатор - пробел.

Сообщение Anonymous »

У меня есть валидатор, который я использую как для вставки, так и для обновления. Один из проверок, которые я делаю, - это увидеть, существует ли то, что вставлено уже. Код для валидатора: < /p>

Код: Выделить всё

public GrapeColourValidator(IGrapeRepository grapeRepository)
{
_grapeRepository = grapeRepository;

RuleFor(x => x.Colour)
.NotEmpty()
.WithMessage("Colour is required")
.MaximumLength(_maxLength)
.WithMessage($"Colour cannot be more that {_maxLength} characters");

RuleFor(x => x)
.MustAsync(async (grapeColour, context, cancellation) =>
{
return await GrapeColourExists(grapeColour.Colour).ConfigureAwait(false);
})
.WithMessage($"Grape colour already exists");
}

private async Task GrapeColourExists(string grapeColour)
{
var colourResult = await _grapeRepository.GetByColour(grapeColour).ConfigureAwait(false);
return !colourResult.Any(x => x.Colour == grapeColour);
}
< /code>
Проблема с этим в том, что он работает также для обновления, поэтому цвет определенно будет существует. Я хочу пройти параметр, чтобы я мог сделать что -то вроде: < /p>
if(isInsert)
{
RuleFor(x => x)
.MustAsync(async (grapeColour, context, cancellation) =>
{
return await GrapeColourExists(grapeColour.Colour).ConfigureAwait(false);
})
.WithMessage($"Grape colour already exists");
}
Это возможно?

Подробнее здесь: https://stackoverflow.com/questions/670 ... validation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»