gpt4 book ai didi

asp.net-mvc - Asp.Net MVC 2 - 更改 PropertyValueRequired 字符串

转载 作者:行者123 更新时间:2023-12-02 00:02:31 31 4
gpt4 key购买 nike

使用 App_GlobalResources 目录中的 resx 文件,我能够更改模型验证器的 PropertyValueInvalid 字符串的默认消息。

但是当需要值(PropertyValueRequired)时,它无法翻译消息。

在 Global.asax.cs Application_Start() 中,我更改了资源类键,如下所示:

DefaultModelBinder.ResourceClassKey = "Messages";

在 Messages.resx 文件中我放置了两个条目:

  • "PropertyValueInvalid"=> "O valor '{0}' é inválido para o Campo {1}."
  • "PropertyValueRequired"= > "{0} 所需的数字。"

谢谢。

最佳答案

RequiredAttribute 未使用 DefaultModelBinder.GetValueRequiredResource。创建自定义 DataAnnotationsModelValidator 类。

public class MyRequiredAttributeAdapter : RequiredAttributeAdapter
{
public MyRequiredAttributeAdapter(ModelMetadata metadata,
ControllerContext context,
RequiredAttribute attribute)
: base(metadata, context, attribute)
{
attribute.ErrorMessageResourceType = typeof (Messages);
attribute.ErrorMessageResourceName = "PropertyValueRequired";
}
}

并在 Global.asax 中注册适配器。

DataAnnotationsModelValidatorProvider.RegisterAdapter(
typeof(RequiredAttribute),
typeof(MyRequiredAttributeAdapter));

希望这有帮助!

Reusable Validation Error Message Resource Strings for DataAnnotations

关于asp.net-mvc - Asp.Net MVC 2 - 更改 PropertyValueRequired 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040264/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com