【问题标题】:How to customise HTML markup generated by ValidationMessageFor in MVC如何在 MVC 中自定义 ValidationMessageFor 生成的 HTML 标记
【发布时间】:2015-11-26 09:57:37
【问题描述】:

我正在开发一个 MVC 4 项目,该项目需要在模型验证引发任何错误时生成特定标记。

假设:

<div><i class="fa fa-info"></i><span>Error Message</span><div>

我已经尝试使用 jquery 来更新事件所需的标记,但这使得代码变得复杂,因为太多的客户端事件需要附加到 DOM 元素上。

谢谢

编辑: Razor 视图引擎为

生成特定标记
@Html.ValidationMessageFor(model => model.ModelProperty)

我想自定义 Razor 视图引擎为上述帮助方法生成的标记,而不影响验证功能。

【问题讨论】:

  • 你到底需要什么
  • 你想把你的 HTML 改成什么?问题不清楚。
  • 您需要编写自己的 HtmlHelper 扩展方法。但是为什么不直接使用 css 来设置ValidationMessageFor() 生成的&lt;span&gt; 元素的样式?

标签: html asp.net-mvc-4 razor model-validation


【解决方案1】:

MVC 验证消息块的 css 类名称是:.validation-summary-errors。您可以使用 F12 检查器轻松找到它。所以:

$(document).ready() {
   $('.validation-summary-errors').html('<span>' + $('.validation-summary-errors').html() + '</span>')
   $('.validation-summary-errors').prepend('<i class="fa fa-info"></i>') ; 
}

【讨论】:

  • 谢谢,但我不想从 jquery/javascript 操作 DOM 元素
猜你喜欢
  • 2013-05-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多