我正在使用System.ComponentModel.DataAnnotations.RequiredAttribute来指示需要某个模型属性。
如果没有滚动我自己的必需验证属性,是否有一种相当简单的方法来抑制客户端的验证消息,同时仍允许它们在通过Html.ValidationSummary()触发服务器端时显示?我仍然希望验证发生,甚至突出显示输入元素,但我不希望为此特定的必需属性显示“xyzField is Required”消息。
我确实需要ValidationMessageFor对此模型属性上的所有其他ValidationAttributes保持运行 - 它只是我想要抑制的必需的。
我的理由是:我有几个小的字段非常接近,而且必需的消息是过度和太忙。特别是考虑到“必需”是最常见的罪犯。很明显,该字段是空白的,但是需要(有*符号,加上空白时加亮红色)。
有什么想法吗?我知道一个自定义验证器并不困难 - 我已经有一些它们,但我想知道是否有办法控制我不知道的这种行为。
答案 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