2017-01-23 17 views
1

私はドロップダウンリストと検証フィールドを持っていますが、検証は行われていません。 検証フィールドを持つ他のすべてのフィールドが検証されています。誰もがアイデアを得た??MVC 5ドロップダウンリストの検証が無効

私の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> 

答えて

0

ほとんどの理由があるため、あなたがGuid?を使用していることです。使用しているパラメータのタイプはNullableです。したがって、null値を受け入れることができます。それが検証されない理由です。

Guid?Guidに変更してみてください。

+0

私はGuidを持っています。私はそれをnullableにしようとしますが、うまくいきませんでした。 – Talsja

+0

申し訳ありませんが、私のViewmodelはGuidの代わりにGuid OrganisationIdですか? – Talsja

+0

はい、それを試してください.. – ykh

関連する問題