C# 为RequiredAttribute提供自定义消息
我有一个必需的消息,我想给它一个自定义消息,因为默认消息不是很好。消息必须来自资源文件,并且已参数化,因此资源文件中的消息类似于C# 为RequiredAttribute提供自定义消息,c#,.net,custom-attributes,resource-files,C#,.net,Custom Attributes,Resource Files,我有一个必需的消息,我想给它一个自定义消息,因为默认消息不是很好。消息必须来自资源文件,并且已参数化,因此资源文件中的消息类似于 "The {0} field is required." 我需要能够用我提供的东西替换{0}。我知道默认消息与此类似,但问题是我最终会遇到类似的情况 "The RequiredReason field is required." 当我想要的是 "The required reason field is required". 你知道怎么做吗?你可以创建自己的Req
"The {0} field is required."
我需要能够用我提供的东西替换{0}。我知道默认消息与此类似,但问题是我最终会遇到类似的情况
"The RequiredReason field is required."
当我想要的是
"The required reason field is required".
你知道怎么做吗?你可以创建自己的RequiredAttribute,然后重写FormatErrorMessage方法来使用参数名,甚至通过构造函数将你想要格式化的参数传递给类 比如:
public class ParameterisedRequiredAttribute : RequiredAttribute
{
private string[] _replacements { get; set; }
public ParameterisedRequiredAttribute(params string[] replacements)
{
_replacements = replacements;
ErrorMessageResourceName = ErrorMessagesErrors.SpecificFieldRequired;
ErrorMessageResourceType = typeof(ErrorMessages);
}
public override string FormatErrorMessage(string name)
{
return string.Format(ErrorMessageString, (object[])_replacements);
}
}