在NerdDinner示例中,编写了一组业务规则以验证模型上的数据。通过调用modelObject.GetRuleViolations()检查像空字符串这样的东西,你可以得到它们全部。但还有另一层验证是数据库。例如,datetime字段留给数据库验证,数据库只接受可以转换成DateTime对象的字符串。如何在ASP.NET MVC的规则违规中获得数据库验证?
我看到的问题是,modelObject.GetRuleViolations()永远不会返回datetime的违规。因此,即使正确阻止保存记录,并且显示表单并指定有错误并突出显示日期时间字段,也没有具体的错误消息。有没有办法在业务规则验证错误中获取数据库验证错误?
一般而言,我会非常小心地将异常状态消息盲目地放入页面供最终用户查看,因为您可能会不经意地提供有关数据库形状的非常敏感的信息。 – 2009-05-19 15:28:53