- 我想通过让它们位于其他位置来区分我的属性装饰(每个字段3-4个),以便我的代码看起来可读。
- 此外,传递给某些属性的参数应该来自资源文件。 EG:
[Required("Cannot proceed without entering *field_Name*")]
我只需要[Required]
这个问题的可能的复制(关于这一点我无法抗拒提供赏金):Default resource for data annotations。用资源文件中的元数据装饰模型字段
[Required("Cannot proceed without entering *field_Name*")]
我只需要[Required]
这个问题的可能的复制(关于这一点我无法抗拒提供赏金):Default resource for data annotations。用资源文件中的元数据装饰模型字段
对于第一个问题,也许你可以尝试使用Fluent Validation。您可以通过关注these instructions将其挂接到MVC。
对于第二个问题,我已经张贴在这里的答案:对于流利验证Default resource for data annotations in ASP.NET MVC
要回答你的第一个问题,你可以使用好友类。例如,如果你有一个“用户”模型,那么你可以创建一个“UserMetadata”好友类。然后,您可以将属性添加到好友类中的属性中,而不是主类中。 ASP.NET MVC完全支持这一点,并将使用您的好友类来进行验证和显示名称等操作。这里是你如何声明一个哥们类:
[MetadataType(typeof(UserMetadata))]
public class User
{
public string Name { get; set; }
}
public class UserMetadata
{
[Required]
public object Name { get; set; }
}
注意的是,在好友的类属性类型总是可以“对象”,因为MVC不看在哥们类的属性类型。
还要注意MetadataTypeAttribute可以在System.ComponentModel.DataAnnotations命名空间中找到。
关于第二个问题,你可以看看,我这里张贴了答案: Default resource for data annotations in ASP.NET MVC
+1 – jgauffin 2010-12-03 13:34:36