在 FluentValidation 中覆盖默认 ASP.NET MVC 消息
我收到验证消息“值 xxx 对于 yyy 无效”。当我为双精度类型发布错误的值时,就会发生这种情况。我不知道如何改变它。
I get the validation message "The value xxx is not valid for yyy". It happens when I post incorrect value for double type. I have no idea how to change it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不幸的是,FluentValidation 无法覆盖这一点 - MVC 验证的可扩展性模型在许多地方都受到一定限制,而且我无法找到覆盖此特定消息的方法。
您可以使用的另一种方法是在视图模型上定义两个属性 - 一个作为字符串,一个作为可为空的双精度值。您可以将 string 属性用于 MVC 绑定目的,并且 double 属性将执行转换(如果可以的话)。然后您可以使用它进行验证:
Unfortunately this isn't something that FluentValidation has the ability to override - the extensibility model for MVC's validation is somewhat limited in many places, and I've not been able to find a way to override this particular message.
An alternative approach you could use is to define two properties on your view model - one as a string, and one as a nullable double. You would use the string property for MVC binding purposes, and the double property would perform a conversion (if it can). You can then use this for validation:
您可以使用
.WithMessage()
方法自定义错误消息:如果您想对资源使用本地化消息:
You could use the
.WithMessage()
method to customize the error message:and if you want to use localized messages with resources: