首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC3数据注释:动态添加验证

ASP.NET MVC3数据注释:动态添加验证
EN

Stack Overflow用户
提问于 2011-05-24 18:50:09
回答 2查看 26.6K关注 0票数 18

我是数据注解的新手。我想知道是否可以(以及如何)动态添加一些验证。它很详细地解释了为什么,但我有一个ViewModel,它在创建时接收和对象。在这个对象中,我必须检查一些属性,根据它的值,我应该有或没有一些验证。

举个例子:

public class ProfileViewModel
{
    [Required(ErrorMessage = "The field {0} is required")]
    [Display(Name = "Client Code")]
    public int ClientCode { get; set; }

    [Required(ErrorMessage = "The field {0} is required")]
    [StringLength(100, ErrorMessage = "The field {0} must have up to 100 characters.")]
    [Display(Name = "Company")]
    public string Company { get; set; }

    [StringLength(50, ErrorMessage = "The field {0} must have up to 50 characters.")]
    [Display(Name = "Name")]
    public string Name { get; set; }

    [StringLength(50, ErrorMessage = "The field {0} must have up to 50 characters.")]
    [Display(Name = "LastName")]
    public string LastName { get; set; }

    public ProfileViewModel(User usr)
    {
        if (usuario.ClientCode != null)
        {
            ClientCode = Convert.ToInt32(usr.ClientCode);
        }
        else
        {
             //ClientCode and Company are not yet required.
             //Name and LastName are now required.
        }
        Company = usr.Company;
        Name = usr.Name;
        LastName = usr.LastName;
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 20:57:57

我认为实现我想要的最简单的方法就是实现IValidatableObject

public class Product : IValidatableObject
{
    public int Prop1 { get; set; }
    public int Prop2 { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (Prop1 < Prop2)
            yield return new ValidationResult("Property 1 can't be less than Property 2");
    }
}

另请参阅:Class-Level Model Validation with ... ASP.NET MVC 3

票数 9
EN

Stack Overflow用户

发布于 2011-05-24 20:35:33

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6109277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档