2016-04-25 14 views
0

Ich habe Probleme bei dem Versuch, zu bestätigen, dass ein Wert aus einer Dropdown ausgewählt wurde, wie folgt:Validate Drop-Down in mvc5

Bitte wähle Typen Tastatur Bill Pay

ich hinzugefügt haben, die folgenden Details als Teil meines Modell:

[Required] 
    [StringLength(20, MinimumLength = 10)] 
    public string AccountType { get; set; } 

Wenn ich poste das Formular nicht auf den Kontotyp als nicht gefüllt hervorgehoben sein richtig aus. Irgendwelche Ideen warum? Ich dachte, dass die minimale Länge hätte diese

Antwort

0

gefangen Ich werde Validierung für das Land unten zeigen.

Modell:

public class CountryModel 
{ 
    [Required(ErrorMessage="Country Required.")] 
    public int SelectedCountryId { get; set; } 
    public System.Web.Mvc.SelectList Countries { get; set; } 
} 

Controller:

public ActionResult Index(CountryModel model) 
    { 
     if (model.Countries == null) 
     { 
      model.Countries = new SelectList(new List<SelectListItem>() 
      { 
       new SelectListItem() { Text= "India", Value = "1" }, 
       new SelectListItem() { Text= "Australia", Value = "2"} 
      },"Value","Text"); 
     } 
     return View(model); 
    } 

Meine Ansicht:

@model MVCControls.Models.CountryModel 
@{ 
    ViewBag.Title = "Index"; 
} 
<h2>Dropdownlist Validation</h2> 
@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary() 
    @Html.Label("Country") 
    @Html.DropDownListFor(c => c.SelectedCountryId,Model.Countries,  "..Select..") 
    @Html.ValidationMessage("Country is required."); 
    <input type="submit" name="name" value="Submit" /> 
} 

this helps