2010-10-22 189 views
2

我只想知道如何在asp.net mvc 2中爲下拉菜單啓用客戶端驗證。 這種情況下,下拉菜單中將包含「選擇」項目和其他項目列表..,用戶應該選擇其他項目...驗證應該火的時候,用戶沒有在我看來,選擇其他項目客戶端驗證爲asp.net mvc下拉?

public class FacilityBulletinModel 
    { 
     [DisplayName("Select a Facility")] 
     public List<SelectListItem> ListFacility { get; set; } 

     [DisplayName("Facility Bulletin")] 
     [Required(ErrorMessage = "Please create a Bulletin")] 
     public string FacilityBulletin { get; set; } 

     [DisplayName("Active")] 
     public bool Active { get; set; } 

     [HiddenInput(DisplayValue = false)] 
     public int SiteId { get;set;} 
    } 

Select Facility <span class="err">*</span><br /> 
    <%=Html.DropDownListFor(model => model.ListFacility, null, new {onChange="updateSiteId()" })%> 
    <span class="err"> <%= Html.ValidationMessageFor(model => model.ListFacility) %></span> 

回答

2

首先,如果需要一個下拉列表中,[必需]屬性添加到你的模型屬性。

然後,啓用客戶端驗證的地方在你視圖的頂部:

<% Html.EnableClientValidation() %> 

然後,只需添加一個驗證消息:

<div class="inputField"> 
    <%= Html.LabelFor(model => model.property)%> 
    <%= Html.DropDownListFor(model => model.property, (SelectList)ViewData["myselelectlist"])%> 
    <%= Html.ValidationMessageFor(model => model.property)%> 
</div> 

(這requries被加載MicrosoftMvcValidation.js)