我在MVC模型,如下模型顯示無效即使它包含值
public class person
{
[Required(ErrorMessage = "Please enter First Name.")]
public string first_name {get;set;}
[Required(ErrorMessage = "Please enter last Name")]
public string last_name {get;set;}
[Required(ErrorMessage = "Please enter |DOB")]
public DateTime DOB {get;set;}
}
POST方法
[HttpPost]
public ActionResult save_person(person per)
{
if(per.first_name == null || per.first_name =="")
per.first_name ="demo_first";
if(per.lastname == null || per.lastname =="")
per.last_name ="demo_last";
if (ModelState.IsValid) //fails even assignment is done above
{
}
}
所以在使用,如果條件我確保模型元素將至少含有一個一定的價值但即使在此之後 ModelState.IsValid失敗並返回到視圖需要名和姓氏
我們該如何實現這個邏輯?
如果你確定它會在上面的行中,檢查'ModelState.IsValid'有什麼意義? –
在你的ActionResult被調用的時候是'per'null還是Empty? – Marco
@DarinDimitrov對不起,我的錯誤還有一些其他值在模型中是必需的,不能指定默認值..對於那些值我需要檢查IsValid – Sachu