2015-06-28 4 views
2

мне нужна ваша помощь, у меня есть проблема с проверкой с использованием AdataAnnotationКак проверить выпадающий список с помощью DataAnnotation?

Я пытаюсь проверить выпадающий список, используя его, но есть некоторые проблемы с этим

это мой код

Вид сбоку

 @using (Html.BeginForm("addNewProject", "Activities", FormMethod.Post)) 
     { 
      @Html.AntiForgeryToken() 


      @Html.ValidationMessage("ProjectName") 
      <h3>Project Name: </h3> 
      @Html.TextBox("ProjectName", null, new { @class = "text_field"}) 

      @Html.ValidationMessage("ProjectOwner") 
      <h3>Project Owner: </h3> 
      @Html.DropDownList("ProjectOwner", (SelectList)ViewBag.Customers, new { @class = "text_field" }) 

      @Html.ValidationMessage("Description") 
      <h3>Description: </h3> 
      @Html.TextArea("Description", new { @class = "text_area"}) 

      @Html.ValidationMessage("Department") 
      <h3>Departments: </h3> 
      @Html.DropDownList("Department", (SelectList)ViewBag.Departments, new { @class = "list" }) 

      @Html.ValidationMessage("Region") 
      <h3>Regions: </h3> 
      @Html.DropDownList("Region", (SelectList)ViewBag.Regions, new { @class = "list" }) 

      <input type="submit" value="Add" class="submit" /> 
     } 

Controll эр Боковой держатель

public ActionResult NewProject() 
    { 
     List<SelectListItem> list = new List<SelectListItem>(); 

     list.Add(new SelectListItem() { Value = "0", Text = "Choose ..." }); 

     list.Add(new SelectListItem() { Value = "1", Text = "First" }); 

     list.Add(new SelectListItem() { Value = "2", Text = "Second" }); 

     list.Add(new SelectListItem() { Value = "3", Text = "Third" }); 

     ViewBag.Departments = new SelectList(list, "Value", "Text"); 
     ViewBag.Regions = new SelectList(list, "Value", "Text"); 
     ViewBag.Customers = new SelectList(list, "Value", "Text"); 

     return View(); 
    } 
    public ActionResult addNewProject(Project newProject) 
    { 
     if (ModelState.IsValid) 
     { 

      return RedirectToAction("index", "Home"); 
     } 
     else 
     { 
      return View("NewProject", newProject); 
     } 
    } 

Паспорта

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.ComponentModel.DataAnnotations; 
namespace workflow.DataHolders 
{ 
    public class Project : DataHolder 
    { 
     [Required(ErrorMessage = "This Field Is Required")] 
     [StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The Title Should Be More Than 3 Letters")] 
     public string ProjectName{ get; set; } 

     [Required(ErrorMessage = "This Field Is Required")] 
     public List<SelectListItem> ProjectOwner { get; set; } 

     string Description { get; set; } 

     [Required(ErrorMessage = "This Field Is Required")] 
     public List<SelectListItem> Department { get; set; } 

     [Required(ErrorMessage = "This Field Is Required")] 
     public List<SelectListItem> Region { get; set; } 


    } 
} 
+0

Что проверка достоверности вашего ожидая - все параметры, которые вы визуализируете, имеют атрибут 'value', поэтому он никогда не может быть недействительным. И все 3 dropdownlists пытаются привязать к свойствам, которые являются «List », которые не могут работать - элемент '