fluentvalidation更改int/long的默认错误消息

本文关键字:默认 错误 消息 long 更改 int fluentvalidation | 更新日期: 2023-09-27 18:26:45

是否有方法更改FluentValidation中in的默认错误消息?

我们可以为更复杂的类型设置验证,但简单的"您输入的数据不是int"风格的东西我们似乎无法做到。

这些的内置错误是:"值x对y无效"或诸如此类的东西——有办法覆盖这些吗?

fluentvalidation更改int/long的默认错误消息

没有简单/干净的方法可以实现这一点。第一种可能性是在应用程序启动时覆盖DefaultModelBinder.ResourceClassKey属性,并将其指向自定义资源文件:

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);
    DefaultModelBinder.ResourceClassKey = "Messages";
}

然后在CCD_ 2中定义密钥CCD_。

另一种可能性是在视图模型上使用Jeremy Skinner建议的背景场。

原因是,此错误消息是在字段上进行任何验证之前由默认模型绑定器生成的。在验证字段之前,必须先为其分配一个值。由于您试图在模型绑定期间将不代表有效整数的字符串转换为整数,因此默认模型绑定器会分配一条默认消息。

您也可以覆盖它。

请关注以下链接http://fluentvalidation.codeplex.com/wikipage?title=Customising