尝试使用DataAnnotations验证模型,但DefaulModelBinder会覆盖我的必需属性错误消息,并且永远不会将我的错误消息用于无效数据输入。始终显示“值”对于“属性名称”无效。
在另一个问题中,我看到MVC 2使用DataAnnotationsModelBinder,但我在MVC 2二进制文件中找不到任何类。我下载了MVC期货的源代码并更改了一些源代码来为.Net 4.0编译它,但是虽然我已经成功编译,但是它存在兼容性问题并且没有按预期工作。
任何帮助都得到了认可。
答案 0 :(得分:5)
不要尝试将DataAnnotationsModelBinder与MVC 2 RTM一起使用。 MVC 2 RTM的DefaultModelBinder已包含DataAnnotationsModelBinder示例中存在的所有逻辑。
答案 1 :(得分:0)
发生这种情况是因为DefaultModelBinder
在尝试将输入值强制转换为接收模型属性的类型时会抛出异常。
您可以使用string
作为接收模型属性的类型
或者通过实施IModelBinder
制作自定义模型绑定器并处理验证。