2017-04-21 42 views
2

这是我的类代码MVC下拉列表不验证,并给予警告

public string tempHouseHoldSSNVerification { get; set; } 

这是我CSHTML代码

<tr> 
       <td width="550"><p class="text-primary">Was an error found for SSN verification?</p></td> 
       <td width="20"></td> 
       @{ 
        List<SelectListItem> listItems = new List<SelectListItem>(); 
        listItems.Add(new SelectListItem 
        { 
         Text = "-- Select One -- ", 
         Value = null, 
         Selected = true        
        }); 
        listItems.Add(new SelectListItem 
        { 
         Text = "N/A", 
         Value = "N/A" 
        }); 
        listItems.Add(new SelectListItem 
        { 
         Text = "Yes", 
         Value = "Yes" 
        }); 
        listItems.Add(new SelectListItem 
        { 
         Text = "No", 
         Value = "No" 
        }); 
       } 

       <td> 
        @Html.DropDownListFor(model=>model.tempHouseHoldSSNVerification, listItems, new { @class = "form-control" }) 
        @Html.ValidationMessageFor(model=>model.tempHouseHoldSSNVerification)    
       </td> 
    </tr> 

我想,以确保用户选择N的三个选项之一/ A,是或否,否则会给用户一个警告。

+0

您需要通过添加'[Required]'属性来制作所需的属性。但是你应该删除你的第一个'SelectListItem',并使用'@ Html.DropDownListFor(m => m.tempHouseHoldSSNVerification,listItems,“ - Select One - ”,new {@class =“form-control”}) –

回答

2

使tempHouseHoldSSNVerification成为必填字段。

例子:

[Required] 
public string tempHouseHoldSSNVerification { get; set; } 

和你的方法,检查ModelState验证

public ActionResult YourActionName() 
{ 
    if (ModelState.IsValid) 
    { 
     //do somthing 
    } 
    return View(); // validation error, so re-display same view 
} 

,你也可以使用jQuery验证用于客户端验证。

希望它对你有所帮助。