Asp.net mvc 向mvc中的视图添加特定错误消息
是否可以向视图中的字段添加特定的错误消息? 目前,我已经对模型进行了验证,以检查字段是否为空(ValidationMessageFor),并且我正在对特定错误使用验证摘要。 我想知道的是,为摘要创建的特定错误消息是否可以替换的ValidationMessageFor 型号:Asp.net mvc 向mvc中的视图添加特定错误消息,asp.net-mvc,validation,razor,Asp.net Mvc,Validation,Razor,是否可以向视图中的字段添加特定的错误消息? 目前,我已经对模型进行了验证,以检查字段是否为空(ValidationMessageFor),并且我正在对特定错误使用验证摘要。 我想知道的是,为摘要创建的特定错误消息是否可以替换的ValidationMessageFor 型号: [Required] public string SchoolCode { get; set; } 视图: 控制器: var schoolExists = RepositoryHelper.GetSchoolByCod
[Required]
public string SchoolCode { get; set; }
视图:
控制器:
var schoolExists = RepositoryHelper.GetSchoolByCode(model.SchoolCode);
if (schoolExists == null)
{
ModelState.AddModelError(string.Empty, @"No school exists with this code");
return View(model);
}
if (ModelState.IsValid)
{
//do other stuff
}
因此,如果模型状态无效,它将返回模型错误,但如果输入了错误的代码,它将在验证摘要中添加“没有学校存在此代码”。我可以用学校代码摘要错误替换学校代码模型错误吗?您需要在
AddModelError()
方法中指定属性名称
ModelState.AddModelError("SchoolCode", "No school exists with this code");
因此,它将显示在由
@Html.ValidationMessageFor(m=>m.SchoolCode,…})标识的占位符中。
是,可以覆盖错误消息。您需要做的只是引用ModelState.addmodeleror
方法调用中的项,并指定错误消息文本
您可以覆盖以下错误消息:
- 如果未指定错误消息,则为默认错误消息
- 指定的错误消息
HTML
输出如下所示:
<input
class="input-validation-error form-control text-box single-line"
data-val="true"
data-val-required="Source code is required"
id="SchoolCode"
name="SchoolCode"
placeholder="School Code"
type="text"
value="" />
我希望这有帮助。以后请格式化您的代码,以便更好地阅读。
<input
class="input-validation-error form-control text-box single-line"
data-val="true"
data-val-required="Source code is required"
id="SchoolCode"
name="SchoolCode"
placeholder="School Code"
type="text"
value="" />
if (schoolExists == null)
{
ModelState.AddModelError("SchoolCode", "No school exists with this code");
return View(model);
}