ASP.NET MVC:如何将嵌套属性添加到Modelstate?

时间:2015-03-24 22:24:41

标签: asp.net-mvc modelstate

我想在 Modelstate 中添加一个属性,当它无效时,但我不确定当该属性嵌套在内部时如何做到这一点另一个。

以下是Visual Studio已经为我做的事情。

<td>
    <span class="editor-field">
       @Html.EditorFor(model => model.TheResource.stateProvince)
    </span><span class="editor-validation-error">
       @Html.ValidationMessageFor(model => model.TheResource.stateProvince)
    </span>
 </td>

现在如何在服务器端将属性添加到modelstate?

if(model.TheResource.countryName == "US")
{
    if(!GetUSAStates().Contains(stateProvince))
    {
       ModelState.AddModelError("", 
                                "US state or territory not valid." + 
                                "Please check the spelling. Use, for" + 
                                " instance, Maryland instead of MD");
    }
}

到目前为止,我一直在使用空字符串,因为我不知道如何添加属性。问题是它在摘要中显示错误。

如何将嵌套属性添加到 Modelstate

感谢您的帮助

1 个答案:

答案 0 :(得分:6)

您可以将完全限定的属性名称指定为.AddModelError

的第一个参数
ModelState.AddModelError("TheResource.stateProvince", ""US state or territory not valid ...");