Как показать ошибку проверки, когда пользователи отправляют форму, не выбирая ничего из раскрывающегося списка в ASP.NET MVC? - PullRequest
0 голосов
/ 26 мая 2019

В моем приложении ASP.NET MVC у меня есть форма с выпадающим списком. Если пользователь не выбрал категорию и отправил форму, я получу исключение. Итак, как я могу отправить ошибку проверки из контроллера в представление? потому что я не хочу писать JavaScript.

Это раскрывающийся список:

@Html.DropDownListFor(m => m.Article.CategoryId, new SelectList(Model.Categories, "Id", "Name"), "Select Category", new { @class = "form-control" })

Я знаю, что этот способ работает, но мне нужен этот ярлык (Выбрать категорию)

 @Html.DropDownListFor(m => m.Article.CategoryId, new SelectList(Model.Categories, "Id", "Name"), null, new { @class = "form-control" })

Все и новые контроллеры:

       [HttpPost]
       public ActionResult New(Article article)
        {

            if(ModelState.IsValid)
            {
                string FullName = HttpContext.GetOwinContext()
                    .GetUserManager<ApplicationUserManager>()
                    .FindById(User.Identity.GetUserId()).FullName;

                article.AuthorName = FullName;
                article.UserId = User.Identity.GetUserId();
                db.Aricles.Add(article);
                db.SaveChanges();
                return RedirectToAction("All");
            }
         }

        public ActionResult All()
        {
            var Articles = db.Aricles.ToList();
            return View(Articles);
        }

Моя модель:

  public class Article
{
    public int Id { get; set; }
    [Required]
    public string Title { get; set; }
    [Required]
    public string Body { get; set; }
    public string UserId { get; set; }
    public string AuthorName { get; set; }
    public ApplicationUser User { get; set; }
    public Category Category { get; set; }
    public int CategoryId { get; set; }
}

Я пытался использовать атрибут [Обязательно] , но я не знаю, почему он не работает.
Это скриншот исключения click

1 Ответ

0 голосов
/ 28 мая 2019

Я обнаружил проблему после того, как подумал о комментарии, написанном Маннаном Бахелимом. Я не получаю ошибку проверки, потому что модель в представлении была ArticleCategoryViewModel , в то время как она должна быть Article model.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...