Что такое prev (X), если X является итератором S.begin () для некоторого упорядоченного контейнера S, например S это набор?

Обычно я использую это решение, когда хочу проверить что-то на сервере. Я знаю, что вы можете положиться на модель валидации, которую использует MVC, но когда я делаю проверки, я пытаюсь использовать отдельный проект, если мне нужно сделать для них единичный тест. Допустим, у вас есть два приложения: один рабочий стол и один веб-сайт, тогда оба могут совместно использовать ValidationProject вместо повторения кода в обоих приложениях для одного и того же «Просмотр» / «Экран». Идея здесь заключается в том, чтобы изолировать проект Validation как независимый проект вашего решения.

Итак, вы можете скачать проект FluentValidation от NuGet, FluentValidation использует правила внутри конструктора, вы можете увидеть здесь документацию https: //github.com/JeremySkinner/FluentValidation/wiki

Например, можно использовать это правило даты, например, вы можете также установить правила для своего значения min и вашего максимального значения:

public class CustomerValidator: AbstractValidator {
  public CustomerValidator() {
                    RuleFor(customer => customer.startDate)
                    .NotNull()
                    .WithMessage("You should select a start date")
                    .Must(d => d.HasValue && d.Value <= DateTime.Today)
                    .WithMessage("The start date should not be greather than current month/year");
  }

Теперь внутри вашего контроллера

[HttpPost]
public ActionResult Index(Customer c)
{
  if(ModelState.IsValid)
  {
    var validator= new CustomerValidator();
    var valResult = validator.Validate(c);

    if (valResult.Errors.Count != 0)
    {
       valResult.Errors.ForEach(x => ModelState.AddModelError(x.PropertyName, x.ErrorMessage));
       return View(vm);
    }

    //Your code here
  }
}

0
задан JaMiT 2 March 2019 в 14:31
поделиться

1 ответ

Это вызывает неопределенное поведение. От cppreference.com :

Поведение не определено, если указанная последовательность приращений или уменьшений потребует, чтобы итератор был без приращения (такой как итератор «за конец» ) или что невырожденный итератор (такой как передний итератор или сингулярный итератор) уменьшается.

0
ответ дан 2 March 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: