我正在为某个 viewModel 属性开发客户端和服务器端验证。
在.cshtml
文件中我放了这个:
@Html.DropDownListFor(model => model.EntityType.ParentId, Model.ParentTypeList, "")
@Html.ValidationMessageFor(model => model.EntityType.ParentId)
在控制器中进行业务验证
catch (BusinessException e)
{
ModelState.AddModelError("EntityType.ParentId", Messages.CircularReference);
}
以上按预期工作:如果捕获到异常,则该消息会出现在下拉列表旁边。
但是,我发现这种方式不是很优雅。在 中cshtml
,我使用一种方法来生成有关验证的所有必需信息。在控制器中,我必须知道确切的 Key 字符串并使用它。
难道没有更好的方法来做到这一点吗?