有没有办法更改 FluentValidation 中的默认错误消息?
我们能够为更复杂的类型设置验证,但简单的“您输入的数据不是整数”样式的东西我们似乎无法理解。
这些的内置错误是:“值 x 对 y 无效”或类似的内容 - 有没有办法覆盖这些?
没有简单/干净的方法来实现这一点。第一种可能性是覆盖DefaultModelBinder.ResourceClassKey https://stackoverflow.com/a/2441722/29407应用程序启动中的属性并将其指向自定义资源文件:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
DefaultModelBinder.ResourceClassKey = "Messages";
}
然后定义密钥PropertyValueInvalid
inside App_GlobalResources/Messages.resx
.
另一种可能性是使用背景场 https://stackoverflow.com/a/7432272/29407按照 Jeremy Skinner 的建议,在您的视图模型上。
原因是此错误消息是在字段上进行任何验证之前由默认模型绑定器生成的。在验证该字段之前,必须先为其分配一个值。由于您尝试在模型绑定期间将不表示有效整数的字符串转换为整数,因此默认模型绑定器会分配默认消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)