在MVC4和Unobtrusive中更改渲染验证代码的方法

时间:2014-01-30 19:36:13

标签: asp.net-mvc-4 unobtrusive-validation

我正在使用MVC4开发一个应用程序,并使用jquery.validate.unobtrusive处理clienside验证。 我只是使用模型验证和以下

            <label for="fname">Name</label>
            @Html.TextBoxFor(m => m.Name, new { id = "Name", @maxlength = "16", aria_describedby = "validationName" })
            @Html.ValidationMessageFor(m => m.Name, string.Empty, new { id = "validationName" })

当我运行代码时,它会使用像

这样的标记呈现验证消息
<span id="validationName" class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="Name">
<span class="" for="fname" generated="true">Your name is required.</span>

出于CSS目的,我需要将span id =“validationName”更改为 p id =“validationName” 我认为span标签来自框架或者什么,因为我在代码旁边的验证js文件旁边找不到span标签。 我在unobtrusive.js文件中看到“options:errorClass:”input-validation-error“,errorElement:”span“”,但是将该span更改为p会将第二个span class =“”更改为p class =“”而不会影响第一个跨度。

我正在寻找p标签的原因是span标签最适合内联样式; p标签样式错误消息块作为“块级元素”,它们将它们放下一行而不是使它们换行。此外,p标签会将错误消息描述为“段落”,而不是挂起没有意义的文本

任何建议都会非常感激。

0 个答案:

没有答案