MVC验证消息

时间:2012-09-28 08:38:53

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

在我看来(aspx)

Html.ValidationMessage("FirstName") 

返回

<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>

即使

ViewContext.ViewData.ModelState.Values

中没有FirstName的条目。

如果我打电话

Html.ValidationSummary()

什么都没有。

发生了什么事?我应该在哪里寻找这些价值观?

这是我视图的初始加载,所以不应该显示任何验证消息。 如何停止显示此不需要的消息?。如果我提交页面,那么ViewContext.ViewData.ModelState.Values会填充我期望的内容。任何指针都赞赏。

2 个答案:

答案 0 :(得分:2)

这是正确的功能。验证消息的类别为class="field-validation-valid",重要位是有效。如果您使表单无效,您将看到跨度将更改为:

<span class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="Destination.DestinationText">
<span class="" for="Destination_DestinationText" generated="true">The DestinationText field is required.</span>
</span>

注意class="field-validation-error"

答案 1 :(得分:0)

这些数据属性用于使用jQuery执行客户端验证。添加MVC验证属性(如RequiredRange(0,2))时,会自动添加属性。您的字段上的属性不会使该字段无效。对于无效状态,将删除css类field-validation-valid类,并应用css类field-validation-error。为了防止生成数据属性,您可以禁用显然具有效果的JavaScript。我会保持原样并且知道一切都很好是安全的。)