ASP.NET MVC3不引人注意的验证和手工编码元素问题

时间:2011-09-29 01:26:00

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

我理解内置函数来渲染像

这样的UI控件
@Html.TextBoxFor(model => model.CustomerId)
@Html.ValidationMessageFor(model => model.CustomerId)

渲染的Html看起来像

<input data-val="true" data-val-number="The field CustomerId must be a number." data-val-required="The CustomerId field is required." id="CustomerId" name="CustomerId" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="CustomerId" data-valmsg-replace="true"></span>

输入元素中的所有属性都用于支持不显眼的验证功能。

但由于某些原因我无法通过使用Html帮助器进行渲染,但我必须手动编写Html标记,如

<select id="MyId" name="MyId" />
<%=Html.ValidationMessageFor(model => model.MyId)%>

在这种情况下,我如何在没有硬编码的情况下在select元素中制作不显眼的验证词?

由于

哈迪

1 个答案:

答案 0 :(得分:0)

不显眼的验证完全依赖于这个属性来确定它将应用于元素的哪个验证,你将不得不在你的html中硬编码它们你不想使用帮助器,只需确保你的name属性选择标签等于它绑定的属性名称。