У меня проблема с FluentValidation, где я хочу отображать одно сообщение независимо от ошибки проверки в заданной цепочке. Например, я определил цепочку валидации для одного свойства ниже. Я ожидал бы, что цепочка будет оценена, и любые сбои приведут к сообщению, определенному в вызове WithMessage()
ниже. Однако кажется, что он закорочен и отображает сообщение об ошибке по умолчанию FluentValidation для первой встреченной ошибки. Смотрите ниже код:Одно сообщение для цепи правил?
RuleFor(s => s.ProposalDetail.AgeMin).NotNull()
.GreaterThanOrEqualTo(1)
.LessThanOrEqualTo(99)
.WithMessage("Minimum Age entry is required and must range from 1 to 99 years.");
То, что происходит в том, что свойство AgeMin равно нулю, поэтому первый NotNull()
проверка терпит неудачу и сообщение проверки гласит: «'Предложение Detail Возраст Мин. Не должно быть пустым.» Описание предложения - это имя модели инкапсулирующего вида. Я попытался установить CascadeMode для всего валидатора в CascadeMode.Continue, но он не имеет никакого эффекта.
Как я могу выполнить одно сообщение для одной цепочки проверки собственности?
'С приведенным выше кодом возвращается сообщение проверки по умолчанию, а не cus tom сообщение в конце', где объявлено сообщение по умолчанию.? можете ли вы опубликовать все соответствующие коды .. также вы проверили [fluentvalidation для .NET Documentation /Examples](https://fluentvalidation.codeplex.com/wikipage?title=CreatingAvalator) – MethodMan
Да, я просмотрел документацию и убежище " t нашел аналогичный пример. Я предполагаю, что я должен использовать одно правило, используя 'Must()', чтобы инкапсулировать все правила, чтобы выполнить то, что я пытаюсь сделать. Я бы подумал, что это простой случай. По умолчанию сообщение FluentValidation возвращает '' Detail Detail. Возраст Min 'не должен быть пустым', потому что 'NotNull()' является первым вызовом в цепочке. Я попытался установить 'CascadeMode = CascadeMode.Continue' для валидатора, который не имел никакого эффекта. – TimeBomb006
Просьба предоставить [mcve], который демонстрирует вашу проблему. Это должен быть компилируемый код, который мы можем запустить. – Enigmativity