gpt4 book ai didi

c# - 我可以在 Controller MVC 上获取与数据注释一起使用的自定义错误消息吗?

转载 作者:行者123 更新时间:2023-11-30 14:28:46 25 4
gpt4 key购买 nike

给定一个简化的类,如下所示:

public class Cliente
{
[Display(Name = "Usuário")]
[Required(ErrorMessage = "Informe um nome de usuário")]
[EmailAddress(ErrorMessage = "Informe um e-mail válido")]
[Remote("verificarUsernameCadastrado", "Validate", HttpMethod = "POST")]
public String Username { get; set; }
}

我是 MVC 领域的新手,我在想.. 有没有办法在 Controller 中获取与数据注释一起使用的自定义错误消息?

例如,如果我在一个操作中访问属性 Username,我想得到我为 EmailAddress 提供的错误消息(在这种情况下,“Informe um e-mail válido”)。

我可以很容易地在我想使用的地方复制这条消息,但我真的很想知道是否可以这样做。

提前致谢!

最佳答案

您可以使用反射来完成此操作,更好地用作扩展方法:

public static T GetAttribute<T>(this object instance, string propertyName) where T : Attribute
{
var attrType = typeof(T);
var property = instance.GetType().GetProperty(propertyName);
return (T)property .GetCustomAttributes(attrType, false).First();
}

用法:

var errorMessage = client.GetAttribute<EmailAddressAttribute>("Username").ErrorMessage;

关于c# - 我可以在 Controller MVC 上获取与数据注释一起使用的自定义错误消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28410507/

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