MVC不同于所需注释的错误
本文关键字:错误 注释 不同于 MVC | 更新日期: 2023-09-27 18:24:28
我有一个名为Address的类,比如:
class Address
{
[Required(ErrorMessage = "AD is required.")]
public string AD{get; set;
}
在我的模型中,我有两个类型为Address
的成员(HomeAddress
和WorkAddress
),在我的视图中,我呈现两个局部视图,每个视图都包含一个地址。如果我的模型无效,我想显示两个错误,如:"Home AD is required
"或"Work AD is required
"。是否可以使用单个类实现这一点,而无需创建自定义验证器?
编辑。我需要从ModelState
中获取错误,所以我不能使用@Html.ValidationMessageFor
,因为我需要在一个特殊的容器中显示我的错误
这里可能是您想要的:
public ActionResult HomeAction(Address model)
{
if (string.IsNullOrEmpty(model.AD))
{
ModelState.AddModelError(string.Empty, "Home AD is required");
return View(model);
}
// model.AD is valid here...
return View();
}
public ActionResult WorkAction(Address model)
{
if (string.IsNullOrEmpty(model.AD))
{
ModelState.AddModelError(string.Empty, "Work AD is required");
return View(model);
}
// model.AD is valid here...
return View();
}
或者在提交之前使用jQuery进行检查:
视图中:
@Html.ValidationMessageFor(m => m.AD, "", new { @class = "text-danger" })
var ad = $.trim($('#AD').val());
if (ad.length == 0) {
// _HomePartialView
$('span[data-valmsg-for="AD"]').text('Home AD is invalid');
// _WorkPartialView
$('span[data-valmsg-for="AD"]').text('Work AD is invalid');
} else {
// AD is valid here...
}