DataAnnotationsModelBinder与MVC2 RTM

时间:2010-04-19 11:29:26

标签: asp.net-mvc

尝试使用DataAnnotations验证模型,但DefaulModelBinder会覆盖我的必需属性错误消息,并且永远不会将我的错误消息用于无效数据输入。始终显示“值”对于“属性名称”无效。

在另一个问题中,我看到MVC 2使用DataAnnotationsModelBinder,但我在MVC 2二进制文件中找不到任何类。我下载了MVC期货的源代码并更改了一些源代码来为.Net 4.0编译它,但是虽然我已经成功编译,但是它存在兼容性问题并且没有按预期工作。

任何帮助都得到了认可。

2 个答案:

答案 0 :(得分:5)

不要尝试将DataAnnotationsModelBinder与MVC 2 RTM一起使用。 MVC 2 RTM的DefaultModelBinder已包含DataAnnotationsModelBinder示例中存在的所有逻辑。

答案 1 :(得分:0)

发生这种情况是因为DefaultModelBinder在尝试将输入值强制转换为接收模型属性的类型时会抛出异常。

您可以使用string作为接收模型属性的类型 或者通过实施IModelBinder制作自定义模型绑定器并处理验证。