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