问题:
我试图验证嵌套模型,但是当嵌套模型实例创建时,数据注释属性没有执行。
public class Model
{
[Required]
string MainTitle {get;set;}
public NestedModel NestedModel { get; set; }
}
public class NestedModel
{
[Required]
string SubTitle {get;set;}
}
在控制器:
public ActionResult GetTitles(Model model)
{
if(ModelState.IsValid)
{
//Submodel is always valid even if the sub-title is null.
}
}
Mvc4不支持吗? 如何将验证扩展到这方面?
答案 0 :(得分:10)
我遇到了同样的问题。我结束了这样做:
public ActionResult GetTitles(Model model)
{
if(ModelState.IsValid && TryValidateModel(model.NestedModel, "NestedModel."))
{
//Submodel will be validated here.
}
}