IEn*_*tor 14 validation asp.net-mvc
当使用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"));
Run Code Online (Sandbox Code Playgroud)
输出显示为:
<span class="field-validation-error"><span class="negative">URL is Required</span><br class="hid" /></span>
Run Code Online (Sandbox Code Playgroud)
这与他们早期的测试版没有用,我不知道采取什么方法.
谢谢尼克
小智 14
还有另一种方法可以做到这一点,而无需创建自己的扩展.
比如我们在一个控制器中有以下内容:
ModelState.AddModelError("Name", "<b>Please Use a Valid Person Name</b>");
Run Code Online (Sandbox Code Playgroud)
然后我们可以在视图中执行以下操作:
@if(Html.ValidationMessageFor(x => x.Name) != null){
@Html.Raw(Html.ValidationMessageFor(x => x.Name).ToString())
}
Run Code Online (Sandbox Code Playgroud)
这将防止'<b>Please Use a Valid Person Name</b>'编码的错误消息.
| 归档时间: |
|
| 查看次数: |
10048 次 |
| 最近记录: |