Пользовательское сообщение с плавной проверкой - программирование
Подтвердить что ты не робот

Пользовательское сообщение с плавной проверкой

Я использую SetCollectionValidator для общей коллекции. Моя коллекция - это список:

public class Answer {
  public string QuestionConst { get; set; }
  public string QuestionName { get; set; }
  public bool Required { get; set; }
  public string Answer { get; set; }
}

У меня есть настройка проверки и работа, поэтому, когда элемент недействителен, сообщение об ошибке выглядит примерно так: "QuestionName" не должно быть пустым ". Я хотел бы, чтобы сообщение об ошибке говорило что-то вроде" "Первый вопрос" не должен быть пустым". (где First Question является значением для QuestionName для одного из элементов).

Я думаю, мой вопрос: возможно ли использовать значение переменной в сообщении об ошибке или имени свойства?

4b9b3361

Ответ 1

public class AnswersModelValidator : AbstractValidator<AnswersModel>
{
   RuleFor(customer => customer.Text)
      .NotEmpty()
      .WithMessage("This message references some other properties: Id: {0} Title: {1}", 
        answer => answer.Id, 
        answer => answer.Title
      );
}

Свободная документация проверки: Переопределение сообщения об ошибке

Я нашел эту информацию за 1 минуту:) Прочитайте документацию для этой библиотеки, потому что в ней очень мало информации об этом в Интернете.

Кроме того, вы должны использовать средство проверки коллекции:

public class AnswersModelValidator : AbstractValidator<AnswersModel> {
    public AnswersModelValidator() {
        RuleFor(x => x.Answers).SetCollectionValidator(new AnswerValidator());
    }
}

public class AnswersModel
{
    public List<Answer> Answers{get;set;}
}