2017-01-23 64 views
1

我有一個dropdownlistfor和一個驗證字段,但沒有驗證正在發生。 驗證字段的所有其他字段正在驗證。任何人有一個想法?MVC 5 DropdownlistFor不驗證

我的視圖模型:

[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> 

回答

0

最有可能的原因是因爲你使用Guid?說。您使用的參數類型爲Nullable,因此它可以接受空值。這就是爲什麼它沒有驗證。

嘗試將Guid?更改爲Guid

+0

我有Guid。我試圖讓它可以爲空,但那沒有奏效。 – Talsja

+0

對不起,我的Viewmodel是Guid OrganisationId而不是Guid? – Talsja

+0

是的,試試.. – ykh