Я создаю форму проверки в моем приложении. В этой форме есть две кнопки. Один принять, а другой отказаться. Когда пользователь нажимает «отклонить», необходимо указать поле причины отклонения. Я проверяю это на стороне сервера.
Сначала я проверяю, какая кнопка нажата, а затем, если поле пустое, я добавляю ошибку моделя в состояние модели. Но, поскольку все поля в форме доступны только для чтения, они не отправляются обратно на сервер, и поэтому, когда я возвращаю представление обратно пользователю, данных нет. Я, наверное, упускаю что-то очевидное, но не могу найти, что делать. (Я знаю, что могу сделать все поля в моей форме скрытыми, но из-за большого количества полей это было бы действительно ужасно)
Это мой код.
[HttpPost]
public virtual ActionResult Validate(string action, Record dto) {
if(action == Global.Accept) {
ciService.Store(dto);
return RedirectToAction("Index", "Ci");
} else {
if(string.IsNullOrEmpty(dto.RejectionReason)) {
ModelState.AddModelError("RejectionReason", "REQUIRED!!!!");
return View("Validate", dto);
}
ciService.Reject(dto);
return RedirectToAction("Index", "Ci");
}
}