fluentvalidation更改int/long的默认错误消息
本文关键字:默认 错误 消息 long 更改 int fluentvalidation | 更新日期: 2023-09-27 18:26:45
是否有方法更改FluentValidation中in的默认错误消息?
我们可以为更复杂的类型设置验证,但简单的"您输入的数据不是int"风格的东西我们似乎无法做到。
这些的内置错误是:"值x对y无效"或诸如此类的东西——有办法覆盖这些吗?
没有简单/干净的方法可以实现这一点。第一种可能性是在应用程序启动时覆盖DefaultModelBinder.ResourceClassKey属性,并将其指向自定义资源文件:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
DefaultModelBinder.ResourceClassKey = "Messages";
}
然后在CCD_ 2中定义密钥CCD_。
另一种可能性是在视图模型上使用Jeremy Skinner建议的背景场。
原因是,此错误消息是在字段上进行任何验证之前由默认模型绑定器生成的。在验证字段之前,必须先为其分配一个值。由于您试图在模型绑定期间将不代表有效整数的字符串转换为整数,因此默认模型绑定器会分配一条默认消息。
您也可以覆盖它。
请关注以下链接http://fluentvalidation.codeplex.com/wikipage?title=Customising