我需要知道是否有 ValidationMessage。因为我想
在错误消息中添加 " 标记。
像
@if (Html.ValidationMessageFor(m => m.UserId)){
Html.ValidationMessageFor(m => m.UserId) + "<br />
}
上面的代码不起作用,有人知道它是如何工作的吗?
谢谢!
我需要知道是否有 ValidationMessage。因为我想
在错误消息中添加 " 标记。
像
@if (Html.ValidationMessageFor(m => m.UserId)){
Html.ValidationMessageFor(m => m.UserId) + "<br />
}
上面的代码不起作用,有人知道它是如何工作的吗?
谢谢!
您需要检查 ModelState 是否存在该特定错误。例如:
@if (ModelState["UserId"].Errors.Count > 0) {
Html.ValidationMessageFor(m => m.UserId) @:<br/>
}
如果你到处都有它,这可能会变得非常丑陋。如果你需要做很多,那么创建一个自定义的 Html Helper 扩展。
如果您需要在验证消息中添加一些标记,我建议您创建一个自定义标记。您需要做的就是创建一个新的助手并将该逻辑封装在助手本身中
像下面这样的东西
public MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
//your logic here
}
你的问题很不清楚。请澄清您想要实现的目标。
如果您想在有错误时显示错误,如果没有则不显示错误,您不需要像 Mystere Man 建议的那样编写单独的“if()”逻辑。
只需使用Html.ValidationMessageFor(m => m.UserId)
由 css html 正确格式化并正确引用验证所需的脚本即可。
通过正确格式化的 html 我的意思是在 div 标签中的输入旁边有验证块,这样你就不必<br>
为新行添加 s 。