ASP.NET MVC 3 Annotation de Données: Ajouter la validation dynamiquement

Je suis nouveau avec annotation de données. Je voudrais savoir si il possible (et comment) pour ajouter la validation de certains de façon dynamique. Elle est très longue à expliquer, mais j'ai un ViewModel qui reçoit et objet lors de sa création. Dans cet objet, je dois vérifier pour certains à la propriété et en fonction de sa valeur je doit avoir ou pas certaines validations.

Un exemple:

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;
    }
}
InformationsquelleAutor Diego | 2011-05-24