MVC 下拉列表所需的字段验证不起作用

本文关键字:字段 验证 不起作用 下拉列表 MVC | 更新日期: 2023-09-27 18:33:24

我是MVC的新手,作为我工作的一部分,我需要使用必填字段验证来验证下拉列表,我尝试了以下方式,但验证不起作用,当我单击提交按钮而不选择下拉菜单时,验证不起作用。

型:

[Required(ErrorMessage = "*Required")]
[Display(Name = "Environment")]
public int? Environment { set; get; }

控制器:

List<SelectListItem> environmentlist = new List<SelectListItem>();
environmentlist.Add(new SelectListItem { Text = "SIT", Value = "1" });
environmentlist.Add(new SelectListItem { Text = "UAT", Value = "2" });
environmentlist.Add(new SelectListItem { Text = "PROD", Value = "3" });
ViewBag.EnvironmentList = environmentlist;

视图:

@Html.DropDownListFor(model => model.Environment,(IEnumerable<SelectListItem>)ViewBag.EnvironmentList, String.Empty)
@Html.ValidationMessageFor(model => model.Environment)

MVC 下拉列表所需的字段验证不起作用

这可以在您的代码中有所帮助,

Public ActionResult yourMethod()
{
     if (ModelState.IsValid)
     {
        // Your code
     }
     else
     {                
        return View("Same View");
     }  
}

了解有关 ModelState.IsValid 的更多信息。

尝试以下操作

 @Html.DropDownListFor(model => model.Environment,(IEnumerable<SelectListItem>)ViewBag.EnvironmentList, new {required = "required"})