ASP.NET MVC 2 - 属性验证

时间:2010-08-17 08:28:44

标签: asp.net-mvc-2

我是MVC的新手并且有关于验证的问题。有没有办法动态设置错误信息?

例如,我怎样才能实现以下功能(忽略硬编码的50,这可能来自Web.config或特定于当前记录的。)

[MetadataType(typeof(DocumentValidation))]
public partial class Document
{
    public class DocumentValidation
    {
        private const int MaxLength = 50;

        [Required(ErrorMessage = "Document Title is required")]
        [StringLength(MaxLength, ErrorMessage = "Must be under " + MaxLength.ToString() + " characters")]
        public string Title { get; set; }
    }

}

谢谢,

3 个答案:

答案 0 :(得分:1)

结帐IDataErrorInfo,我问过这个问题IDataErrorInfo vs. DataAnnotations

答案 1 :(得分:1)

这应该可以使用动态属性,但涉及一些技巧:

Dynamic Attributes in C#

答案 2 :(得分:0)

根据您尝试更改ErrorMessage的动态程度。这可能是您问题的一种解决方案:haacked.com - Localizing ASP.NET MVC Validation

这是从资源获取本地化错误消息的好指南。