Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# fluentvalidation更改int/long的默认错误消息_C#_Asp.net Mvc_Validation_Fluentvalidation - Fatal编程技术网

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

C# fluentvalidation更改int/long的默认错误消息,c#,asp.net-mvc,validation,fluentvalidation,C#,Asp.net Mvc,Validation,Fluentvalidation,是否有方法更改FluentValidation中的默认错误消息 我们可以为更复杂的类型设置验证,但简单的“您输入的数据不是int”样式似乎是我们无法获得的 这些函数的内置错误是:“值x对y无效”或类似于这些行的内容-是否有方法覆盖这些函数 您也可以覆盖它 请点击下面的链接 实现这一目标没有简单/干净的方法。第一种可能是覆盖应用程序启动中的属性,并将其指向自定义资源文件: protected void Application_Start() { RegisterRoutes(RouteTa

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

我们可以为更复杂的类型设置验证,但简单的“您输入的数据不是int”样式似乎是我们无法获得的


这些函数的内置错误是:“值x对y无效”或类似于这些行的内容-是否有方法覆盖这些函数

您也可以覆盖它

请点击下面的链接

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

protected void Application_Start()
{
    RegisterRoutes(RouteTable.Routes);
    DefaultModelBinder.ResourceClassKey = "Messages";
}
然后在
App\u GlobalResources/Messages.resx
中定义键
PropertyValueInvalid

另一种可能是按照Jeremy Skinner的建议在视图模型上使用


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

这些都是用于存在RuleFor的情况,框架暗示了-int/long数据类型验证,因此没有要挂接的RuleForinto@DarinDimitrov通过这种方式,我更改了默认消息。但是如何在消息中输入字段名呢?