当我使用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"><span class="negative">URL is required</span><br class="hid" /></span>
这并不是他们早期的测试版的情况,我不知道在这里采取什么方法.
谢谢
缺口
解决方法
还有另一种方式来做,而不必创建自己的扩展名.
例如我们在我们的控制器中有以下几个:
ModelState.AddModelError("Name","<b>Please Use a Valid Person Name</b>");
我们可以在我们看来做以下事情:
@if(Html.ValidationMessageFor(x => x.Name) != null){ @Html.Raw(Html.ValidationMessageFor(x => x.Name).ToString()) }
将会阻止’< b>的错误消息请使用有效人员名称< / b>‘从编码.
@H_301_15@ @H_301_15@