如何在MVC3 / jQuery不显眼的验证中抑制客户端验证消息?

时间:2011-12-07 22:03:25

标签: jquery asp.net-mvc-3 client-side-validation

我正在使用System.ComponentModel.DataAnnotations.RequiredAttribute来指示需要某个模型属性。

如果没有滚动我自己的必需验证属性,是否有一种相当简单的方法来抑制客户端的验证消息,同时仍允许它们在通过Html.ValidationSummary()触发服务器端时显示?我仍然希望验证发生,甚至突出显示输入元素,但我不希望为此特定的必需属性显示“xyzField is Required”消息。

我确实需要ValidationMessageFor对此模型属性上的所有其他ValidationAttributes保持运行 - 它只是我想要抑制的必需的。

我的理由是:我有几个小的字段非常接近,而且必需的消息是过度和太忙。特别是考虑到“必需”是最常见的罪犯。很明显,该字段是空白的,但是需要(有*符号,加上空白时加亮红色)。

有什么想法吗?我知道一个自定义验证器并不困难 - 我已经有一些它们,但我想知道是否有办法控制我不知道的这种行为。

1 个答案:

答案 0 :(得分:0)

您应该取出所有验证消息以获取帮助:

@Html.ValidationMessageFor(m => m.UserName)

然后将验证摘要助手留在表单顶部:

 @Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")

如果您需要更具体的答案,则必须发布代码。

如何在模型中留下错误消息?例如,在您的必需属性中,它将是[Required][Required(ErrorMessage="")]

请参阅此帖子:Validation outside model