Asp.Net MVC 2 - Changing the PropertyValueRequired string

你说的曾经没有我的故事 提交于 2019-11-28 18:25:59

RequiredAttribute not used DefaultModelBinder.GetValueRequiredResource. Create custom DataAnnotationsModelValidator class.

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

and register adapter in Global.asax.

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

Hope this help!

Reusable Validation Error Message Resource Strings for DataAnnotations

This message is baked into System.ComponentModel.DataAnnotations assembly under the key RequiredAttribute_ValidationError. You could write a custom validation attribute:

public class MyRequiredAttribute : RequiredAttribute
{
    public MyRequiredAttribute()
    {
        ErrorMessageResourceType = typeof(Messages);
        ErrorMessageResourceName = "Required";
    }
}

and then inside your Messages.resx file define the Required string:

Required => É necessário digitar o {0}.

and finally decorate your view model property with this custom attribute:

public class MyViewModel
{
    [MyRequired]
    public int Foo { get; set; }
}

How about

[Required (ErrorMessageResourceName="Required",ErrorMessageResourceType=typeof(Messages)]

public string Foo { get; set; }

Required => É necessário digitar o {0}.

Or

Required => {0} field is required.

Please refer below link for complete asp.net mvc localisation guide asp.net mvc localisation guide

Just add like this

[Required(ErrorMessage = "Your Error Message, here..!")]
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!