MVC 5下拉列表未验证

时间:2017-01-23 08:40:53

标签: unobtrusive-validation asp.net-mvc-5 dropdownlistfor

我有一个dropdownlistfor和一个验证字段,但没有进行验证。 具有验证字段的所有其他字段都在验证。有人有想法吗?

我的ViewModel:

[Display(Name = "Organisation")]
[Required(ErrorMessage = "Organisation is required.")]
public Guid OrganisationId{ get; set; }
public SelectList Organisations { get; set; }

我的控制器:

public ActionResult Create()
{
     IEnumerable<Organisation> organisations = _organisationService.FindAll();
    var model = new RegisterViewModel
    {
       Organisations = new SelectList(organisations, "Id","Name")                                  
    };
    return View(model);
}

我的观点:

<div class="form-group row">
    @Html.DropDownListFor(model => model.OrganisationId, Model.Organisations, "Select a value...", new { @class = "form-control choice" })
    @Html.ValidationMessageFor(model => model.OrganisationId)
</div>

1 个答案:

答案 0 :(得分:0)

最有可能的原因是因为您使用Guid?。您使用的参数类型为Nullable,因此它可以接受空值。这就是它没有验证的原因。

尝试将Guid?更改为Guid