3
我是MVC的新手,所以請幫助我解決一個簡單的問題。我有一個類如下使用ModelState MVC驗證
public class FeedbackViewModel
{
[Required(ErrorMessage="Please enter feedback summary")]
public string strSummary { get; set; }
[Required(ErrorMessage = "Please enter feedback details")]
public string strDetail { get; set; }
}
那麼這FeedbackViewModel
在其他視圖模型作爲
public class HomeIndexViewModel
{
public SearchViewModel SearchViewModels { get; set; }
public FeedbackViewModel FeedBackModel { get; set; }
}
我的問題是在控制器,當我做ModelState.IsValid
(模型傳遞到動作控制器HomeIndexViewModel)總是無論我是否在FeedbackViewModel
模型的字段中輸入任何值,都是如此。我需要在此操作中驗證FeedbackViewModel
模型。
首先是可能然後如何。或者如果不可能,那麼任何工作都在那裏。請幫助我卡住了,我希望我的問題很清楚
不要在viewModel中使用viewModel。爲每個視圖使用一個單獨的模型。 (或者如果您的應用有意義,可以共享包含多個視圖的單個模型)。爲了驗證輸入的目的,儘可能將複雜對象保留在視圖模型之外。數據註釋不會挖掘到複雜的屬性。 –
可以顯示控制器操作的代碼嗎? – saml
感謝您的回覆。我想我只是分開了四十二個說法,並保持簡單的意見。 –