是否有任何方法可以自定义数据注释,就像在模型中添加[Uppercase],[Lowercase],[ProperCase]注释一样,在上述情况下转换模型。 我尝试过使用modelbinder,它只设置一个数据注释我想要实现的是拥有这样的模型:
[Display(Name="Agent Code", Prompt = "Agent Code")]
[CustomAttributes(Case="Uppecase", IsTrim=false)]
[Required(AllowEmptyStrings = false, ErrorMessage = ModelConstants.L_MSG_REQUIRED)]
[StringLength(10)]
public string agent_cd { get; set; }
如何实现我想要的输出的任何想法或建议??
答案 0 :(得分:3)
有办法做到这一点,创建自己的注释,如下所示:
namespace System.ComponentModel.DataAnnotations
{
public class MakeMeUpperCase : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
try
{
validationContext.ObjectType.GetProperty(validationContext.DisplayName)
.SetValue(validationContext.ObjectInstance, value.ToString().ToUpper() , null);
}
catch (Exception)
{
}
return null;
}
}
}
你的财产:
[MakeMeUpperCase]
public string TurnUpper { get; set; }