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
感谢您的回复。我想我只是分开了四十二个说法,并保持简单的意见。 –