MVC3验证:我可以在每个控件的多个位置有多个错误消息

时间:2012-09-05 19:09:04

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

Data Entry Page and Validation Errors

这是我的MVC注册页面。您可以看到顶部合并的验证错误消息。 UI设计者希望红色(*)出现在每个需要注意的控件旁边。

我知道如何使用MVC 3验证来生成*或上面的错误消息,方法是放置@ Html.ValidationMessageFor并将错误消息自定义为更详细消息的*。

我无法弄清楚如何做到这两点。我知道我可以用JQuery解决这个问题。但我怀疑MVC验证有办法做到这一点。 @ Html.ValidationMessageFor似乎对每个模型成员/控件都应用一次,这可能不是这样......

总而言之,我是否有办法为位于与原始消息不同的位置的每个控件添加第二条错误消息(如*),只有MVC验证且没有JQuery / JS。

2 个答案:

答案 0 :(得分:1)

据我所知,验证反馈仅支持每个输入一个反馈字符串。您可以为每个消息设置自定义反馈消息并将*放在字符串前面,但这会破坏MVC配置优势的许多约定。

现在,这就是为什么不尝试CSS?据我了解,那些反馈消息(在每个输入表单旁边)使用固定的css类。所以也许沿着这条线......

field-validation-error:before
{ 
    content:"* ";
}

答案 1 :(得分:0)

顶部的Html.ValidationSummary。每个字段旁边都有Html.ValidationMessageFor。