gpt4 book ai didi

c# - 为 RequiredAttribute 提供自定义消息

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:16 26 4
gpt4 key购买 nike

我有一个必需的消息,我想给它一个自定义消息,因为默认消息不是很好。该消息必须来自资源文件并已参数化,因此资源文件中的消息将类似于

"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);
}
}

关于c# - 为 RequiredAttribute 提供自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719587/

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