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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – Asp.Net MVC 2 – 更改PropertyValueRequired字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在App_GlobalResources目录中使用resx文件,我可以更改模型验证器的PropertyValueInvalid字符串的默认消息.

但是,当需要值时,不需要翻译消息(PropertyValuerequired.)

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

DefaultModelBinder.ResourceClassKey = "Messages";

在Messages.resx文件中,我已经输入了两个条目:

>“PropertyValueInvalid”=> “O勇气”{0}“éinválidopara o campo {1}”.
>“PropertyValuerequired”=> “é必须的数字o {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相关文章