Я использую свободную проверку со следующими правилами:
public class MovieViewModelValidator : AbstractValidator<MovieViewModel>
{
public MovieViewModelValidator()
{
RuleFor(m => m.Movie.Name).NotEmpty().WithMessage("Der Titel darf nicht Leer sein.")
.Length(0, 255).WithMessage("Der Titel darf nicht mehr als 255 Zeichen haben.");
RuleFor(m => m.Movie.Description).NotEmpty().WithMessage("Die Beschreibung darf nicht Leer sein.")
.Length(0, 2000).WithMessage("Die Beschreibung darf nicht mehr als 2000 Zeichen haben.");
RuleFor(m => m.Movie.ReleaseDate).NotEmpty().WithMessage("Das Erscheinungsdatum darf nicht Leer sein.");
RuleFor(m => m.Movie.Duration).NotEmpty().WithMessage("Die Dauer darf nicht Leer sein.")
.LessThan(600).WithMessage("Die Dauer kann nicht über 600 Minuten betragen");
RuleFor(m => m.Movie.AgeRestrictionId).NotEmpty().WithMessage("Bitte eine Altersbeschränkung wählen");
}
}
Проблема в том, что если мои Duration, ReleaseDate и AgeRestrictionId пусты, сообщение об ошибке проверки будет «Требуется значение». а не сообщение, которое я установил в правиле.
Я уже пробовал Empty()
, Equal(0)
, NotEqual(0)
и многое другое, но я не понимаю, почему это не работает. Может ли кто-нибудь помочь мне, а также дать мне объяснение, почему Empty()
или NotEmpty()
не работает, когда это работает для Имени и Описания?