我正在使用符合以下规则的流利验证:
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()
不能用于“名称”和“描述”吗?