gpt4 book ai didi

asp.net-mvc - ModelState.AddModelError 编码 HTML

转载 作者:行者123 更新时间:2023-12-03 16:24:13 30 4
gpt4 key购买 nike

使用 ModelState.AddModelError 验证表单上的输入时,我注意到一个奇怪的问题。 Html.ValidationMessage 的输出不是真正的 HTML 值,而是编码值,因此 CSS 样式不会应用于错误消息。

例子:

private string errorMessage = "<span class=\"negative\">{0}</span><br class=\"hid\" />";
ModelState.AddModelError("title", String.Format(errorMessage, "Tab title is required"));

输出显示为:
<span class="field-validation-error">&lt;span class=&quot;negative&quot;&gt;URL is Required&lt;/span&gt;&lt;br class=&quot;hid&quot; /&gt;</span>

这在他们早期的测试版中并没有出现过,我不确定在这里采取什么方法。

谢谢
缺口

最佳答案

还有另一种方法可以做到这一点,而无需创建自己的扩展。

例如,假设我们的一个 Controller 中有以下内容:

ModelState.AddModelError("Name", "<b>Please Use a Valid Person Name</b>");

然后我们可以在我们的 View 中执行以下操作:
@if(Html.ValidationMessageFor(x => x.Name) != null){
@Html.Raw(Html.ValidationMessageFor(x => x.Name).ToString())
}

将阻止 '<b>Please Use a Valid Person Name</b>' 的错误信息从被编码。

关于asp.net-mvc - ModelState.AddModelError 编码 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/727160/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com